@ckb-ccc/core 0.1.0-alpha.7 → 0.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.
Files changed (148) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/ckb/transactionLumos.d.ts +2 -1
  3. package/dist/ckb/transactionLumos.d.ts.map +1 -1
  4. package/dist/client/client.js +1 -1
  5. package/dist/signer/btc/signerBtc.d.ts.map +1 -1
  6. package/dist/signer/btc/signerBtc.js +2 -3
  7. package/dist/signer/btc/verify.d.ts +14 -1
  8. package/dist/signer/btc/verify.d.ts.map +1 -1
  9. package/dist/signer/btc/verify.js +22 -1
  10. package/dist/signer/doge/index.d.ts +5 -0
  11. package/dist/signer/doge/index.d.ts.map +1 -0
  12. package/dist/signer/doge/index.js +4 -0
  13. package/dist/signer/doge/signerDoge.d.ts +52 -0
  14. package/dist/signer/doge/signerDoge.d.ts.map +1 -0
  15. package/dist/signer/doge/signerDoge.js +82 -0
  16. package/dist/signer/doge/signerDogeAddressReadonly.d.ts +41 -0
  17. package/dist/signer/doge/signerDogeAddressReadonly.d.ts.map +1 -0
  18. package/dist/signer/doge/signerDogeAddressReadonly.js +45 -0
  19. package/dist/signer/doge/signerDogePrivateKey.d.ts +52 -0
  20. package/dist/signer/doge/signerDogePrivateKey.d.ts.map +1 -0
  21. package/dist/signer/doge/signerDogePrivateKey.js +68 -0
  22. package/dist/signer/doge/verify.d.ts +6 -0
  23. package/dist/signer/doge/verify.d.ts.map +1 -0
  24. package/dist/signer/doge/verify.js +17 -0
  25. package/dist/signer/index.d.ts +1 -0
  26. package/dist/signer/index.d.ts.map +1 -1
  27. package/dist/signer/index.js +1 -0
  28. package/dist/signer/nostr/index.d.ts +1 -0
  29. package/dist/signer/nostr/index.d.ts.map +1 -1
  30. package/dist/signer/nostr/index.js +1 -0
  31. package/dist/signer/signer/index.d.ts +4 -2
  32. package/dist/signer/signer/index.d.ts.map +1 -1
  33. package/dist/signer/signer/index.js +5 -0
  34. package/dist.commonjs/address/address.advanced.js +23 -28
  35. package/dist.commonjs/address/advanced.js +1 -17
  36. package/dist.commonjs/address/index.js +11 -15
  37. package/dist.commonjs/advanced.js +2 -31
  38. package/dist.commonjs/advancedBarrel.js +5 -21
  39. package/dist.commonjs/barrel.js +12 -41
  40. package/dist.commonjs/bytes/advanced.js +1 -2
  41. package/dist.commonjs/bytes/index.js +7 -12
  42. package/dist.commonjs/ckb/advanced.js +3 -32
  43. package/dist.commonjs/ckb/index.js +3 -19
  44. package/dist.commonjs/ckb/molecule.advanced/generated.js +64 -131
  45. package/dist.commonjs/ckb/molecule.advanced/index.js +2 -19
  46. package/dist.commonjs/ckb/script.advanced.js +3 -6
  47. package/dist.commonjs/ckb/script.js +23 -53
  48. package/dist.commonjs/ckb/transaction.advanced.js +3 -6
  49. package/dist.commonjs/ckb/transaction.js +122 -163
  50. package/dist.commonjs/ckb/transactionLumos.d.ts +2 -1
  51. package/dist.commonjs/ckb/transactionLumos.d.ts.map +1 -1
  52. package/dist.commonjs/ckb/transactionLumos.js +1 -2
  53. package/dist.commonjs/client/advanced.js +6 -22
  54. package/dist.commonjs/client/cache/advanced.js +1 -17
  55. package/dist.commonjs/client/cache/cache.js +3 -7
  56. package/dist.commonjs/client/cache/index.js +2 -18
  57. package/dist.commonjs/client/cache/memory.advanced.js +21 -28
  58. package/dist.commonjs/client/cache/memory.js +19 -23
  59. package/dist.commonjs/client/client.js +22 -26
  60. package/dist.commonjs/client/clientPublicMainnet.advanced.js +22 -25
  61. package/dist.commonjs/client/clientPublicMainnet.js +8 -15
  62. package/dist.commonjs/client/clientPublicTestnet.advanced.js +22 -25
  63. package/dist.commonjs/client/clientPublicTestnet.js +8 -15
  64. package/dist.commonjs/client/clientTypes.advanced.js +3 -6
  65. package/dist.commonjs/client/clientTypes.js +29 -43
  66. package/dist.commonjs/client/index.js +6 -22
  67. package/dist.commonjs/client/jsonRpc/advanced.js +2 -18
  68. package/dist.commonjs/client/jsonRpc/index.js +37 -41
  69. package/dist.commonjs/client/jsonRpc/transformers.js +57 -61
  70. package/dist.commonjs/client/jsonRpc/types.js +1 -2
  71. package/dist.commonjs/client/transports/advanced.js +8 -25
  72. package/dist.commonjs/client/transports/http.js +1 -5
  73. package/dist.commonjs/client/transports/transport.js +1 -2
  74. package/dist.commonjs/client/transports/webSocket.js +3 -10
  75. package/dist.commonjs/fixedPoint/index.js +4 -9
  76. package/dist.commonjs/hasher/advanced.js +1 -4
  77. package/dist.commonjs/hasher/hasher.js +1 -2
  78. package/dist.commonjs/hasher/hasherCkb.js +14 -20
  79. package/dist.commonjs/hasher/hasherKeecak256.js +7 -11
  80. package/dist.commonjs/hasher/index.js +3 -19
  81. package/dist.commonjs/hex/index.js +3 -6
  82. package/dist.commonjs/index.js +2 -31
  83. package/dist.commonjs/keystore/index.js +21 -25
  84. package/dist.commonjs/molecule/codec.js +48 -63
  85. package/dist.commonjs/molecule/index.js +2 -18
  86. package/dist.commonjs/molecule/predefined.js +77 -103
  87. package/dist.commonjs/num/index.js +17 -29
  88. package/dist.commonjs/signer/btc/index.js +3 -19
  89. package/dist.commonjs/signer/btc/signerBtc.d.ts.map +1 -1
  90. package/dist.commonjs/signer/btc/signerBtc.js +20 -25
  91. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.js +4 -8
  92. package/dist.commonjs/signer/btc/verify.d.ts +14 -1
  93. package/dist.commonjs/signer/btc/verify.d.ts.map +1 -1
  94. package/dist.commonjs/signer/btc/verify.js +29 -11
  95. package/dist.commonjs/signer/ckb/index.js +5 -21
  96. package/dist.commonjs/signer/ckb/signerCkbPrivateKey.js +16 -20
  97. package/dist.commonjs/signer/ckb/signerCkbPublicKey.js +20 -24
  98. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.js +8 -12
  99. package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.js +12 -16
  100. package/dist.commonjs/signer/ckb/verifyJoyId.js +5 -8
  101. package/dist.commonjs/signer/doge/index.d.ts +5 -0
  102. package/dist.commonjs/signer/doge/index.d.ts.map +1 -0
  103. package/dist.commonjs/signer/doge/index.js +4 -0
  104. package/dist.commonjs/signer/doge/signerDoge.d.ts +52 -0
  105. package/dist.commonjs/signer/doge/signerDoge.d.ts.map +1 -0
  106. package/dist.commonjs/signer/doge/signerDoge.js +82 -0
  107. package/dist.commonjs/signer/doge/signerDogeAddressReadonly.d.ts +41 -0
  108. package/dist.commonjs/signer/doge/signerDogeAddressReadonly.d.ts.map +1 -0
  109. package/dist.commonjs/signer/doge/signerDogeAddressReadonly.js +45 -0
  110. package/dist.commonjs/signer/doge/signerDogePrivateKey.d.ts +52 -0
  111. package/dist.commonjs/signer/doge/signerDogePrivateKey.d.ts.map +1 -0
  112. package/dist.commonjs/signer/doge/signerDogePrivateKey.js +68 -0
  113. package/dist.commonjs/signer/doge/verify.d.ts +6 -0
  114. package/dist.commonjs/signer/doge/verify.d.ts.map +1 -0
  115. package/dist.commonjs/signer/doge/verify.js +17 -0
  116. package/dist.commonjs/signer/dummy/alwaysError.js +2 -6
  117. package/dist.commonjs/signer/dummy/dummy.js +3 -7
  118. package/dist.commonjs/signer/dummy/index.js +3 -19
  119. package/dist.commonjs/signer/dummy/openLink.js +2 -6
  120. package/dist.commonjs/signer/evm/index.js +3 -19
  121. package/dist.commonjs/signer/evm/signerEvm.js +31 -35
  122. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.js +4 -8
  123. package/dist.commonjs/signer/evm/verify.js +4 -7
  124. package/dist.commonjs/signer/index.d.ts +1 -0
  125. package/dist.commonjs/signer/index.d.ts.map +1 -1
  126. package/dist.commonjs/signer/index.js +7 -22
  127. package/dist.commonjs/signer/nostr/index.d.ts +1 -0
  128. package/dist.commonjs/signer/nostr/index.d.ts.map +1 -1
  129. package/dist.commonjs/signer/nostr/index.js +2 -17
  130. package/dist.commonjs/signer/nostr/signerNostr.js +21 -25
  131. package/dist.commonjs/signer/nostr/verify.js +12 -16
  132. package/dist.commonjs/signer/signer/index.d.ts +4 -2
  133. package/dist.commonjs/signer/signer/index.d.ts.map +1 -1
  134. package/dist.commonjs/signer/signer/index.js +22 -23
  135. package/dist.commonjs/utils/index.js +6 -12
  136. package/package.json +8 -1
  137. package/src/ckb/transactionLumos.ts +2 -1
  138. package/src/client/client.ts +1 -1
  139. package/src/signer/btc/signerBtc.ts +2 -3
  140. package/src/signer/btc/verify.ts +31 -2
  141. package/src/signer/doge/index.ts +4 -0
  142. package/src/signer/doge/signerDoge.ts +116 -0
  143. package/src/signer/doge/signerDogeAddressReadonly.ts +52 -0
  144. package/src/signer/doge/signerDogePrivateKey.ts +97 -0
  145. package/src/signer/doge/verify.ts +38 -0
  146. package/src/signer/index.ts +1 -0
  147. package/src/signer/nostr/index.ts +1 -0
  148. package/src/signer/signer/index.ts +9 -0
@@ -1,26 +1,21 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HasherCkb = void 0;
4
- exports.hashCkb = hashCkb;
5
- exports.hashTypeId = hashTypeId;
6
- const blake2b_1 = require("@noble/hashes/blake2b");
7
- const index_js_1 = require("../bytes/index.js");
8
- const index_js_2 = require("../ckb/index.js");
9
- const index_js_3 = require("../hex/index.js");
10
- const index_js_4 = require("../num/index.js");
11
- const advanced_js_1 = require("./advanced.js");
1
+ import { blake2b } from "@noble/hashes/blake2b";
2
+ import { bytesFrom } from "../bytes/index.js";
3
+ import { CellInput } from "../ckb/index.js";
4
+ import { hexFrom } from "../hex/index.js";
5
+ import { numLeToBytes } from "../num/index.js";
6
+ import { CKB_BLAKE2B_PERSONAL } from "./advanced.js";
12
7
  /**
13
8
  * @public
14
9
  */
15
- class HasherCkb {
10
+ export class HasherCkb {
16
11
  /**
17
12
  * Creates an instance of Hasher.
18
13
  *
19
14
  * @param outLength - The output length of the hash in bytes. Default is 32.
20
15
  * @param personal - The personal string for the Blake2b algorithm. Default is CKB_BLAKE2B_PERSONAL.
21
16
  */
22
- constructor(outLength = 32, personal = advanced_js_1.CKB_BLAKE2B_PERSONAL) {
23
- this.hasher = blake2b_1.blake2b.create({
17
+ constructor(outLength = 32, personal = CKB_BLAKE2B_PERSONAL) {
18
+ this.hasher = blake2b.create({
24
19
  personalization: personal,
25
20
  dkLen: outLength,
26
21
  });
@@ -39,7 +34,7 @@ class HasherCkb {
39
34
  * ```
40
35
  */
41
36
  update(data) {
42
- this.hasher.update((0, index_js_1.bytesFrom)(data));
37
+ this.hasher.update(bytesFrom(data));
43
38
  return this;
44
39
  }
45
40
  /**
@@ -55,10 +50,9 @@ class HasherCkb {
55
50
  * ```
56
51
  */
57
52
  digest() {
58
- return (0, index_js_3.hexFrom)(this.hasher.digest());
53
+ return hexFrom(this.hasher.digest());
59
54
  }
60
55
  }
61
- exports.HasherCkb = HasherCkb;
62
56
  /**
63
57
  * Computes the CKB hash of the given data using the Blake2b algorithm.
64
58
  * @public
@@ -71,7 +65,7 @@ exports.HasherCkb = HasherCkb;
71
65
  * const hash = hashCkb("some data"); // Outputs something like "0x..."
72
66
  * ```
73
67
  */
74
- function hashCkb(...data) {
68
+ export function hashCkb(...data) {
75
69
  const hasher = new HasherCkb();
76
70
  data.forEach((d) => hasher.update(d));
77
71
  return hasher.digest();
@@ -89,6 +83,6 @@ function hashCkb(...data) {
89
83
  * const hash = hashTypeId(cellInput, outputIndex); // Outputs something like "0x..."
90
84
  * ```
91
85
  */
92
- function hashTypeId(cellInputLike, outputIndex) {
93
- return hashCkb(index_js_2.CellInput.from(cellInputLike).toBytes(), (0, index_js_4.numLeToBytes)(outputIndex, 8));
86
+ export function hashTypeId(cellInputLike, outputIndex) {
87
+ return hashCkb(CellInput.from(cellInputLike).toBytes(), numLeToBytes(outputIndex, 8));
94
88
  }
@@ -1,18 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HasherKeecak256 = void 0;
4
- const sha3_1 = require("@noble/hashes/sha3");
5
- const index_js_1 = require("../bytes/index.js");
6
- const index_js_2 = require("../hex/index.js");
1
+ import { keccak_256 } from "@noble/hashes/sha3";
2
+ import { bytesFrom } from "../bytes/index.js";
3
+ import { hexFrom } from "../hex/index.js";
7
4
  /**
8
5
  * @public
9
6
  */
10
- class HasherKeecak256 {
7
+ export class HasherKeecak256 {
11
8
  /**
12
9
  * Creates an instance of Hasher.
13
10
  */
14
11
  constructor() {
15
- this.hasher = sha3_1.keccak_256.create();
12
+ this.hasher = keccak_256.create();
16
13
  }
17
14
  /**
18
15
  * Updates the hash with the given data.
@@ -28,7 +25,7 @@ class HasherKeecak256 {
28
25
  * ```
29
26
  */
30
27
  update(data) {
31
- this.hasher.update((0, index_js_1.bytesFrom)(data));
28
+ this.hasher.update(bytesFrom(data));
32
29
  return this;
33
30
  }
34
31
  /**
@@ -44,7 +41,6 @@ class HasherKeecak256 {
44
41
  * ```
45
42
  */
46
43
  digest() {
47
- return (0, index_js_2.hexFrom)(this.hasher.digest());
44
+ return hexFrom(this.hasher.digest());
48
45
  }
49
46
  }
50
- exports.HasherKeecak256 = HasherKeecak256;
@@ -1,19 +1,3 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./hasher.js"), exports);
18
- __exportStar(require("./hasherCkb.js"), exports);
19
- __exportStar(require("./hasherKeecak256.js"), exports);
1
+ export * from "./hasher.js";
2
+ export * from "./hasherCkb.js";
3
+ export * from "./hasherKeecak256.js";
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hexFrom = hexFrom;
4
- const index_js_1 = require("../bytes/index.js");
1
+ import { bytesFrom, bytesTo } from "../bytes/index.js";
5
2
  /**
6
3
  * Converts a HexLike value to a Hex string.
7
4
  * @public
@@ -15,6 +12,6 @@ const index_js_1 = require("../bytes/index.js");
15
12
  * const hexStringFromBytes = hexFrom(new Uint8Array([104, 101, 108, 108, 111])); // Outputs "0x68656c6c6f"
16
13
  * ```
17
14
  */
18
- function hexFrom(hex) {
19
- return `0x${(0, index_js_1.bytesTo)((0, index_js_1.bytesFrom)(hex), "hex")}`;
15
+ export function hexFrom(hex) {
16
+ return `0x${bytesTo(bytesFrom(hex), "hex")}`;
20
17
  }
@@ -1,31 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
- };
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ccc = void 0;
30
- __exportStar(require("./barrel.js"), exports);
31
- exports.ccc = __importStar(require("./barrel.js"));
1
+ export * from "./barrel.js";
2
+ export * as ccc from "./barrel.js";
@@ -1,13 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.keystoreEncrypt = keystoreEncrypt;
4
- exports.keystoreDecrypt = keystoreDecrypt;
5
- const aes_1 = require("@noble/ciphers/aes");
6
- const scrypt_1 = require("@noble/hashes/scrypt");
7
- const sha3_1 = require("@noble/hashes/sha3");
8
- const utils_1 = require("@noble/hashes/utils");
9
- const index_js_1 = require("../bytes/index.js");
10
- const index_js_2 = require("../hex/index.js");
1
+ import { ctr } from "@noble/ciphers/aes";
2
+ import { scryptAsync } from "@noble/hashes/scrypt";
3
+ import { keccak_256 } from "@noble/hashes/sha3";
4
+ import { randomBytes } from "@noble/hashes/utils";
5
+ import { bytesConcat, bytesFrom } from "../bytes/index.js";
6
+ import { hexFrom } from "../hex/index.js";
11
7
  // The parameter r ("blockSize")
12
8
  const DEFAULT_SCRYPT_PARAM_R = 8;
13
9
  // The parallelization parameter p
@@ -15,35 +11,35 @@ const DEFAULT_SCRYPT_PARAM_P = 1;
15
11
  // The CPU/Memory cost parameter N
16
12
  const DEFAULT_SCRYPT_PARAM_N = 262144;
17
13
  function mac(derivedKey, cipherText) {
18
- return (0, index_js_2.hexFrom)((0, sha3_1.keccak_256)((0, index_js_1.bytesConcat)(derivedKey.slice(16, 32), cipherText))).slice(2);
14
+ return hexFrom(keccak_256(bytesConcat(derivedKey.slice(16, 32), cipherText))).slice(2);
19
15
  }
20
16
  /**
21
17
  * @public
22
18
  */
23
- async function keystoreEncrypt(privateKeyLike, chainCodeLike, password) {
24
- const salt = (0, utils_1.randomBytes)(32);
25
- const iv = (0, utils_1.randomBytes)(16);
19
+ export async function keystoreEncrypt(privateKeyLike, chainCodeLike, password) {
20
+ const salt = randomBytes(32);
21
+ const iv = randomBytes(16);
26
22
  const kdfparams = {
27
23
  dklen: 32,
28
- salt: (0, index_js_2.hexFrom)(salt).slice(2),
24
+ salt: hexFrom(salt).slice(2),
29
25
  n: DEFAULT_SCRYPT_PARAM_N,
30
26
  r: DEFAULT_SCRYPT_PARAM_R,
31
27
  p: DEFAULT_SCRYPT_PARAM_P,
32
28
  };
33
- const derivedKey = await (0, scrypt_1.scryptAsync)((0, index_js_1.bytesFrom)(password, "utf8"), salt, {
29
+ const derivedKey = await scryptAsync(bytesFrom(password, "utf8"), salt, {
34
30
  N: kdfparams.n,
35
31
  r: kdfparams.r,
36
32
  p: kdfparams.p,
37
33
  dkLen: kdfparams.dklen,
38
34
  });
39
- const cipher = (0, aes_1.ctr)(derivedKey.slice(0, 16), iv.map((v) => v));
40
- const ciphertext = cipher.encrypt((0, index_js_1.bytesConcat)((0, index_js_1.bytesFrom)(privateKeyLike), (0, index_js_1.bytesFrom)(chainCodeLike)));
35
+ const cipher = ctr(derivedKey.slice(0, 16), iv.map((v) => v));
36
+ const ciphertext = cipher.encrypt(bytesConcat(bytesFrom(privateKeyLike), bytesFrom(chainCodeLike)));
41
37
  return {
42
- id: (0, index_js_2.hexFrom)((0, utils_1.randomBytes)(16)).slice(2),
38
+ id: hexFrom(randomBytes(16)).slice(2),
43
39
  crypto: {
44
- ciphertext: (0, index_js_2.hexFrom)(ciphertext).slice(2),
40
+ ciphertext: hexFrom(ciphertext).slice(2),
45
41
  cipherparams: {
46
- iv: (0, index_js_2.hexFrom)(iv).slice(2),
42
+ iv: hexFrom(iv).slice(2),
47
43
  },
48
44
  cipher: "aes-128-ctr",
49
45
  kdf: "scrypt",
@@ -55,7 +51,7 @@ async function keystoreEncrypt(privateKeyLike, chainCodeLike, password) {
55
51
  /**
56
52
  * @public
57
53
  */
58
- async function keystoreDecrypt(keystore, password) {
54
+ export async function keystoreDecrypt(keystore, password) {
59
55
  if (typeof keystore !== "object" ||
60
56
  keystore === null ||
61
57
  !("crypto" in keystore)) {
@@ -91,17 +87,17 @@ async function keystoreDecrypt(keystore, password) {
91
87
  typeof kdfparams.salt !== "string") {
92
88
  throw Error("Invalid kdfparams");
93
89
  }
94
- const derivedKey = await (0, scrypt_1.scryptAsync)((0, index_js_1.bytesFrom)(password, "utf8"), (0, index_js_1.bytesFrom)(kdfparams.salt), {
90
+ const derivedKey = await scryptAsync(bytesFrom(password, "utf8"), bytesFrom(kdfparams.salt), {
95
91
  N: kdfparams.n,
96
92
  r: kdfparams.r,
97
93
  p: kdfparams.p,
98
94
  dkLen: kdfparams.dklen,
99
95
  });
100
- const ciphertext = (0, index_js_1.bytesFrom)(crypto.ciphertext);
96
+ const ciphertext = bytesFrom(crypto.ciphertext);
101
97
  if (mac(derivedKey, ciphertext) !== crypto.mac) {
102
98
  throw Error("Invalid password");
103
99
  }
104
- const cipher = (0, aes_1.ctr)(derivedKey.slice(0, 16), (0, index_js_1.bytesFrom)(crypto.cipherparams.iv));
100
+ const cipher = ctr(derivedKey.slice(0, 16), bytesFrom(crypto.cipherparams.iv));
105
101
  const result = cipher.decrypt(ciphertext);
106
102
  return {
107
103
  privateKey: result.slice(0, 32),
@@ -1,21 +1,7 @@
1
- "use strict";
2
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Codec = void 0;
5
- exports.fixedItemVec = fixedItemVec;
6
- exports.dynItemVec = dynItemVec;
7
- exports.vector = vector;
8
- exports.option = option;
9
- exports.byteVec = byteVec;
10
- exports.table = table;
11
- exports.union = union;
12
- exports.struct = struct;
13
- exports.array = array;
14
- exports.uint = uint;
15
- exports.uintNumber = uintNumber;
16
- const index_js_1 = require("../bytes/index.js");
17
- const index_js_2 = require("../num/index.js");
18
- class Codec {
2
+ import { bytesConcat, bytesFrom } from "../bytes/index.js";
3
+ import { numBeFromBytes, numBeToBytes, numFromBytes, numToBytes, } from "../num/index.js";
4
+ export class Codec {
19
5
  constructor(encode, decode, byteLength) {
20
6
  this.encode = encode;
21
7
  this.decode = decode;
@@ -34,18 +20,17 @@ class Codec {
34
20
  });
35
21
  }
36
22
  }
37
- exports.Codec = Codec;
38
23
  function uint32To(numLike) {
39
- return (0, index_js_2.numToBytes)(numLike, 4);
24
+ return numToBytes(numLike, 4);
40
25
  }
41
26
  function uint32From(bytesLike) {
42
- return Number((0, index_js_2.numFromBytes)(bytesLike));
27
+ return Number(numFromBytes(bytesLike));
43
28
  }
44
29
  /**
45
30
  * Vector with fixed size item codec
46
31
  * @param itemCodec fixed-size vector item codec
47
32
  */
48
- function fixedItemVec(itemCodec) {
33
+ export function fixedItemVec(itemCodec) {
49
34
  const itemByteLength = itemCodec.byteLength;
50
35
  if (itemByteLength === undefined) {
51
36
  throw new Error("fixedItemVec: itemCodec requires a byte length");
@@ -53,14 +38,14 @@ function fixedItemVec(itemCodec) {
53
38
  return Codec.from({
54
39
  encode(userDefinedItems) {
55
40
  try {
56
- return userDefinedItems.reduce((concatted, item) => (0, index_js_1.bytesConcat)(concatted, itemCodec.encode(item)), uint32To(userDefinedItems.length));
41
+ return userDefinedItems.reduce((concatted, item) => bytesConcat(concatted, itemCodec.encode(item)), uint32To(userDefinedItems.length));
57
42
  }
58
43
  catch (e) {
59
44
  throw new Error(`fixedItemVec(${e?.toString()})`);
60
45
  }
61
46
  },
62
47
  decode(buffer) {
63
- const value = (0, index_js_1.bytesFrom)(buffer);
48
+ const value = bytesFrom(buffer);
64
49
  if (value.byteLength < 4) {
65
50
  throw new Error(`fixedItemVec: too short buffer, expected at least 4 bytes, but got ${value.byteLength}`);
66
51
  }
@@ -86,7 +71,7 @@ function fixedItemVec(itemCodec) {
86
71
  * Vector with dynamic size item codec, you can create a recursive vector with this function
87
72
  * @param itemCodec the vector item codec. It can be fixed-size or dynamic-size.
88
73
  */
89
- function dynItemVec(itemCodec) {
74
+ export function dynItemVec(itemCodec) {
90
75
  return Codec.from({
91
76
  encode(userDefinedItems) {
92
77
  try {
@@ -94,24 +79,24 @@ function dynItemVec(itemCodec) {
94
79
  const encodedItem = itemCodec.encode(item);
95
80
  const packedHeader = uint32To(offset);
96
81
  return {
97
- header: (0, index_js_1.bytesConcat)(header, packedHeader),
98
- body: (0, index_js_1.bytesConcat)(body, encodedItem),
99
- offset: offset + (0, index_js_1.bytesFrom)(encodedItem).byteLength,
82
+ header: bytesConcat(header, packedHeader),
83
+ body: bytesConcat(body, encodedItem),
84
+ offset: offset + bytesFrom(encodedItem).byteLength,
100
85
  };
101
86
  }, {
102
- header: (0, index_js_1.bytesFrom)([]),
103
- body: (0, index_js_1.bytesFrom)([]),
87
+ header: bytesFrom([]),
88
+ body: bytesFrom([]),
104
89
  offset: 4 + userDefinedItems.length * 4,
105
90
  });
106
91
  const packedTotalSize = uint32To(encoded.header.byteLength + encoded.body.byteLength + 4);
107
- return (0, index_js_1.bytesConcat)(packedTotalSize, encoded.header, encoded.body);
92
+ return bytesConcat(packedTotalSize, encoded.header, encoded.body);
108
93
  }
109
94
  catch (e) {
110
95
  throw new Error(`dynItemVec(${e?.toString()})`);
111
96
  }
112
97
  },
113
98
  decode(buffer) {
114
- const value = (0, index_js_1.bytesFrom)(buffer);
99
+ const value = bytesFrom(buffer);
115
100
  const byteLength = uint32From(value.slice(0, 4));
116
101
  if (byteLength !== value.byteLength) {
117
102
  throw new Error(`dynItemVec: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
@@ -143,7 +128,7 @@ function dynItemVec(itemCodec) {
143
128
  * General vector codec, if `itemCodec` is fixed size type, it will create a fixvec codec, otherwise a dynvec codec will be created.
144
129
  * @param itemCodec
145
130
  */
146
- function vector(itemCodec) {
131
+ export function vector(itemCodec) {
147
132
  if (itemCodec.byteLength !== undefined) {
148
133
  return fixedItemVec(itemCodec);
149
134
  }
@@ -156,11 +141,11 @@ function vector(itemCodec) {
156
141
  * - if it's not empty, just serialize the inner item (the size is same as the inner item's size).
157
142
  * @param innerCodec
158
143
  */
159
- function option(innerCodec) {
144
+ export function option(innerCodec) {
160
145
  return Codec.from({
161
146
  encode(userDefinedOrNull) {
162
147
  if (!userDefinedOrNull) {
163
- return (0, index_js_1.bytesFrom)([]);
148
+ return bytesFrom([]);
164
149
  }
165
150
  try {
166
151
  return innerCodec.encode(userDefinedOrNull);
@@ -170,7 +155,7 @@ function option(innerCodec) {
170
155
  }
171
156
  },
172
157
  decode(buffer) {
173
- const value = (0, index_js_1.bytesFrom)(buffer);
158
+ const value = bytesFrom(buffer);
174
159
  if (value.byteLength === 0) {
175
160
  return undefined;
176
161
  }
@@ -187,20 +172,20 @@ function option(innerCodec) {
187
172
  * Wrap the encoded value with a fixed-length buffer
188
173
  * @param codec
189
174
  */
190
- function byteVec(codec) {
175
+ export function byteVec(codec) {
191
176
  return Codec.from({
192
177
  encode(userDefined) {
193
178
  try {
194
- const payload = (0, index_js_1.bytesFrom)(codec.encode(userDefined));
179
+ const payload = bytesFrom(codec.encode(userDefined));
195
180
  const byteLength = uint32To(payload.byteLength);
196
- return (0, index_js_1.bytesConcat)(byteLength, payload);
181
+ return bytesConcat(byteLength, payload);
197
182
  }
198
183
  catch (e) {
199
184
  throw new Error(`byteVec(${e?.toString()})`);
200
185
  }
201
186
  },
202
187
  decode(buffer) {
203
- const value = (0, index_js_1.bytesFrom)(buffer);
188
+ const value = bytesFrom(buffer);
204
189
  if (value.byteLength < 4) {
205
190
  throw new Error(`byteVec: too short buffer, expected at least 4 bytes, but got ${value.byteLength}`);
206
191
  }
@@ -221,7 +206,7 @@ function byteVec(codec) {
221
206
  * Table is a dynamic-size type. It can be considered as a dynvec but the length is fixed.
222
207
  * @param codecLayout
223
208
  */
224
- function table(codecLayout) {
209
+ export function table(codecLayout) {
225
210
  const keys = Object.keys(codecLayout);
226
211
  return Codec.from({
227
212
  encode(object) {
@@ -231,24 +216,24 @@ function table(codecLayout) {
231
216
  const encodedItem = codecLayout[key].encode(object[key]);
232
217
  const packedOffset = uint32To(result.offset);
233
218
  return {
234
- header: (0, index_js_1.bytesConcat)(result.header, packedOffset),
235
- body: (0, index_js_1.bytesConcat)(result.body, encodedItem),
236
- offset: result.offset + (0, index_js_1.bytesFrom)(encodedItem).byteLength,
219
+ header: bytesConcat(result.header, packedOffset),
220
+ body: bytesConcat(result.body, encodedItem),
221
+ offset: result.offset + bytesFrom(encodedItem).byteLength,
237
222
  };
238
223
  }
239
224
  catch (e) {
240
225
  throw new Error(`table.${key}(${e?.toString()})`);
241
226
  }
242
227
  }, {
243
- header: (0, index_js_1.bytesFrom)([]),
244
- body: (0, index_js_1.bytesFrom)([]),
228
+ header: bytesFrom([]),
229
+ body: bytesFrom([]),
245
230
  offset: headerLength,
246
231
  });
247
232
  const packedTotalSize = uint32To(header.byteLength + body.byteLength + 4);
248
- return (0, index_js_1.bytesConcat)(packedTotalSize, header, body);
233
+ return bytesConcat(packedTotalSize, header, body);
249
234
  },
250
235
  decode(buffer) {
251
- const value = (0, index_js_1.bytesFrom)(buffer);
236
+ const value = bytesFrom(buffer);
252
237
  const byteLength = uint32From(value.slice(0, 4));
253
238
  if (byteLength !== value.byteLength) {
254
239
  throw new Error(`table: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
@@ -290,7 +275,7 @@ function table(codecLayout) {
290
275
  * // with custom id
291
276
  * union({ cafe: Uint8, bee: Uint8 }, { cafe: 0xcafe, bee: 0xbee })
292
277
  */
293
- function union(codecLayout, fields) {
278
+ export function union(codecLayout, fields) {
294
279
  const keys = Object.keys(codecLayout);
295
280
  return Codec.from({
296
281
  encode({ type, value }) {
@@ -306,14 +291,14 @@ function union(codecLayout, fields) {
306
291
  const header = uint32To(fieldId);
307
292
  try {
308
293
  const body = codec.encode(value);
309
- return (0, index_js_1.bytesConcat)(header, body);
294
+ return bytesConcat(header, body);
310
295
  }
311
296
  catch (e) {
312
297
  throw new Error(`union.(${typeStr})(${e?.toString()})`);
313
298
  }
314
299
  },
315
300
  decode(buffer) {
316
- const value = (0, index_js_1.bytesFrom)(buffer);
301
+ const value = bytesFrom(buffer);
317
302
  const fieldIndex = uint32From(value.slice(0, 4));
318
303
  const keys = Object.keys(codecLayout);
319
304
  const field = (() => {
@@ -343,7 +328,7 @@ function union(codecLayout, fields) {
343
328
  * The size of a struct is the sum of all fields' size.
344
329
  * @param codecLayout a object contains all fields' codec
345
330
  */
346
- function struct(codecLayout) {
331
+ export function struct(codecLayout) {
347
332
  const codecArray = Object.values(codecLayout);
348
333
  if (codecArray.some((codec) => codec.byteLength === undefined)) {
349
334
  throw new Error("struct: all fields must be fixed-size");
@@ -355,15 +340,15 @@ function struct(codecLayout) {
355
340
  return keys.reduce((result, key) => {
356
341
  try {
357
342
  const encodedItem = codecLayout[key].encode(object[key]);
358
- return (0, index_js_1.bytesConcat)(result, encodedItem);
343
+ return bytesConcat(result, encodedItem);
359
344
  }
360
345
  catch (e) {
361
346
  throw new Error(`struct.${key}(${e?.toString()})`);
362
347
  }
363
- }, (0, index_js_1.bytesFrom)([]));
348
+ }, bytesFrom([]));
364
349
  },
365
350
  decode(buffer) {
366
- const value = (0, index_js_1.bytesFrom)(buffer);
351
+ const value = bytesFrom(buffer);
367
352
  const object = {};
368
353
  let offset = 0;
369
354
  Object.entries(codecLayout).forEach(([key, codec]) => {
@@ -387,7 +372,7 @@ function struct(codecLayout) {
387
372
  * @param itemCodec the fixed-size array item codec
388
373
  * @param itemCount
389
374
  */
390
- function array(itemCodec, itemCount) {
375
+ export function array(itemCodec, itemCount) {
391
376
  if (itemCodec.byteLength === undefined) {
392
377
  throw new Error("array: itemCodec requires a byte length");
393
378
  }
@@ -396,14 +381,14 @@ function array(itemCodec, itemCount) {
396
381
  byteLength,
397
382
  encode(items) {
398
383
  try {
399
- return items.reduce((concatted, item) => (0, index_js_1.bytesConcat)(concatted, itemCodec.encode(item)), (0, index_js_1.bytesFrom)([]));
384
+ return items.reduce((concatted, item) => bytesConcat(concatted, itemCodec.encode(item)), bytesFrom([]));
400
385
  }
401
386
  catch (e) {
402
387
  throw new Error(`array(${e?.toString()})`);
403
388
  }
404
389
  },
405
390
  decode(buffer) {
406
- const value = (0, index_js_1.bytesFrom)(buffer);
391
+ const value = bytesFrom(buffer);
407
392
  if (value.byteLength != byteLength) {
408
393
  throw new Error(`array: invalid buffer size, expected ${byteLength}, but got ${value.byteLength}`);
409
394
  }
@@ -425,23 +410,23 @@ function array(itemCodec, itemCount) {
425
410
  * @param byteLength
426
411
  * @param littleEndian
427
412
  */
428
- function uint(byteLength, littleEndian = false) {
413
+ export function uint(byteLength, littleEndian = false) {
429
414
  return Codec.from({
430
415
  byteLength,
431
416
  encode: (numLike) => {
432
417
  if (littleEndian) {
433
- return (0, index_js_2.numToBytes)(numLike, byteLength);
418
+ return numToBytes(numLike, byteLength);
434
419
  }
435
420
  else {
436
- return (0, index_js_2.numBeToBytes)(numLike, byteLength);
421
+ return numBeToBytes(numLike, byteLength);
437
422
  }
438
423
  },
439
424
  decode: (buffer) => {
440
425
  if (littleEndian) {
441
- return (0, index_js_2.numFromBytes)(buffer);
426
+ return numFromBytes(buffer);
442
427
  }
443
428
  else {
444
- return (0, index_js_2.numBeFromBytes)(buffer);
429
+ return numBeFromBytes(buffer);
445
430
  }
446
431
  },
447
432
  });
@@ -451,7 +436,7 @@ function uint(byteLength, littleEndian = false) {
451
436
  * @param byteLength
452
437
  * @param littleEndian
453
438
  */
454
- function uintNumber(byteLength, littleEndian = false) {
439
+ export function uintNumber(byteLength, littleEndian = false) {
455
440
  if (byteLength > 4) {
456
441
  throw new Error("uintNumber: byteLength must be less than or equal to 4");
457
442
  }
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./codec.js"), exports);
18
- __exportStar(require("./predefined.js"), exports);
1
+ export * from "./codec.js";
2
+ export * from "./predefined.js";