@ckb-ccc/core 0.0.2-alpha.0 → 0.0.2-alpha.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 (208) hide show
  1. package/dist/address/address.advanced.d.ts +5 -0
  2. package/dist/address/address.advanced.d.ts.map +1 -0
  3. package/dist/address/address.advanced.js +68 -0
  4. package/dist/address/advanced.d.ts +7 -9
  5. package/dist/address/advanced.d.ts.map +1 -1
  6. package/dist/address/advanced.js +50 -38
  7. package/dist/address/index.d.ts +20 -5
  8. package/dist/address/index.d.ts.map +1 -1
  9. package/dist/address/index.js +43 -32
  10. package/dist/advanced.d.ts +3 -0
  11. package/dist/advanced.d.ts.map +1 -0
  12. package/dist/{types/index.js → advanced.js} +3 -9
  13. package/dist/advancedBarrel.d.ts +4 -0
  14. package/dist/advancedBarrel.d.ts.map +1 -0
  15. package/dist/advancedBarrel.js +19 -0
  16. package/dist/barrel.d.ts +3 -2
  17. package/dist/barrel.d.ts.map +1 -1
  18. package/dist/barrel.js +3 -2
  19. package/dist/bytes.d.ts +15 -0
  20. package/dist/bytes.d.ts.map +1 -0
  21. package/dist/bytes.js +114 -0
  22. package/dist/ckb/advanced.d.ts +3 -0
  23. package/dist/ckb/advanced.d.ts.map +1 -0
  24. package/dist/ckb/advanced.js +18 -0
  25. package/dist/ckb/hasher.advanced.d.ts +2 -0
  26. package/dist/ckb/hasher.advanced.d.ts.map +1 -0
  27. package/dist/ckb/hasher.advanced.js +4 -0
  28. package/dist/ckb/hasher.d.ts +10 -0
  29. package/dist/ckb/hasher.d.ts.map +1 -0
  30. package/dist/ckb/hasher.js +26 -0
  31. package/dist/ckb/index.d.ts +3 -1
  32. package/dist/ckb/index.d.ts.map +1 -1
  33. package/dist/ckb/index.js +3 -1
  34. package/dist/ckb/types/advanced.d.ts +4 -0
  35. package/dist/ckb/types/advanced.d.ts.map +1 -0
  36. package/dist/ckb/types/advanced.js +32 -0
  37. package/dist/ckb/types/index.d.ts +3 -0
  38. package/dist/ckb/types/index.d.ts.map +1 -0
  39. package/dist/{codec → ckb/types}/index.js +1 -2
  40. package/dist/ckb/types/molecule.advanced/generated.d.ts +355 -0
  41. package/dist/ckb/types/molecule.advanced/generated.d.ts.map +1 -0
  42. package/dist/ckb/types/molecule.advanced/generated.js +1255 -0
  43. package/dist/ckb/types/molecule.advanced/index.d.ts +2 -0
  44. package/dist/ckb/types/molecule.advanced/index.d.ts.map +1 -0
  45. package/dist/ckb/types/molecule.advanced/index.js +17 -0
  46. package/dist/ckb/types/script.advanced.d.ts +4 -0
  47. package/dist/ckb/types/script.advanced.d.ts.map +1 -0
  48. package/dist/{types/ckb.advanced.js → ckb/types/script.advanced.js} +3 -3
  49. package/dist/ckb/types/script.d.ts +26 -0
  50. package/dist/ckb/types/script.d.ts.map +1 -0
  51. package/dist/ckb/types/script.js +75 -0
  52. package/dist/ckb/types/transaction.advanced.d.ts +4 -0
  53. package/dist/ckb/types/transaction.advanced.d.ts.map +1 -0
  54. package/dist/ckb/types/transaction.advanced.js +11 -0
  55. package/dist/ckb/types/transaction.d.ts +127 -0
  56. package/dist/ckb/types/transaction.d.ts.map +1 -0
  57. package/dist/ckb/types/transaction.js +266 -0
  58. package/dist/ckb/viewerCkbScript.d.ts +11 -0
  59. package/dist/ckb/viewerCkbScript.d.ts.map +1 -0
  60. package/dist/ckb/viewerCkbScript.js +18 -0
  61. package/dist/client/advanced.d.ts +3 -0
  62. package/dist/client/advanced.d.ts.map +1 -0
  63. package/dist/client/advanced.js +18 -0
  64. package/dist/client/client.d.ts +7 -4
  65. package/dist/client/client.d.ts.map +1 -1
  66. package/dist/client/client.js +1 -4
  67. package/dist/client/clientPublicMainnet.advanced.d.ts +1 -1
  68. package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  69. package/dist/client/clientPublicMainnet.d.ts +5 -3
  70. package/dist/client/clientPublicMainnet.d.ts.map +1 -1
  71. package/dist/client/clientPublicMainnet.js +6 -3
  72. package/dist/client/clientPublicTestnet.advanced.d.ts +1 -1
  73. package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  74. package/dist/client/clientPublicTestnet.d.ts +5 -3
  75. package/dist/client/clientPublicTestnet.d.ts.map +1 -1
  76. package/dist/client/clientPublicTestnet.js +6 -3
  77. package/dist/client/clientTypes.d.ts +2 -0
  78. package/dist/client/clientTypes.d.ts.map +1 -0
  79. package/dist/client/index.d.ts +1 -4
  80. package/dist/client/index.d.ts.map +1 -1
  81. package/dist/client/index.js +1 -19
  82. package/dist/client/jsonRpc/advanced.d.ts +88 -0
  83. package/dist/client/jsonRpc/advanced.d.ts.map +1 -0
  84. package/dist/client/jsonRpc/advanced.js +69 -0
  85. package/dist/client/jsonRpc/index.d.ts +14 -0
  86. package/dist/client/jsonRpc/index.d.ts.map +1 -0
  87. package/dist/client/jsonRpc/index.js +63 -0
  88. package/dist/fixedPoint.d.ts +9 -0
  89. package/dist/fixedPoint.d.ts.map +1 -0
  90. package/dist/fixedPoint.js +30 -0
  91. package/dist/primitive.d.ts +5 -0
  92. package/dist/primitive.d.ts.map +1 -0
  93. package/dist/signer/helpers.d.ts +7 -0
  94. package/dist/signer/helpers.d.ts.map +1 -0
  95. package/dist/signer/helpers.js +35 -0
  96. package/dist/signer/index.d.ts +3 -0
  97. package/dist/signer/index.d.ts.map +1 -0
  98. package/dist/signer/index.js +18 -0
  99. package/dist/signer/signer.d.ts +11 -0
  100. package/dist/signer/signer.d.ts.map +1 -0
  101. package/dist/signer/signer.js +13 -0
  102. package/dist/tsconfig.tsbuildinfo +1 -1
  103. package/dist/viewer.d.ts +8 -5
  104. package/dist/viewer.d.ts.map +1 -1
  105. package/dist/viewer.js +13 -0
  106. package/package.json +13 -5
  107. package/src/address/address.advanced.ts +88 -0
  108. package/src/address/advanced.ts +30 -45
  109. package/src/address/index.ts +70 -5
  110. package/src/advanced.ts +2 -0
  111. package/src/advancedBarrel.ts +3 -0
  112. package/src/barrel.ts +3 -2
  113. package/src/bytes.ts +127 -0
  114. package/src/ckb/advanced.ts +2 -0
  115. package/src/ckb/hasher.advanced.ts +1 -0
  116. package/src/ckb/hasher.ts +30 -0
  117. package/src/ckb/index.ts +3 -1
  118. package/src/ckb/types/advanced.ts +3 -0
  119. package/src/ckb/types/index.ts +2 -0
  120. package/src/ckb/types/molecule.advanced/blockchain.mol +118 -0
  121. package/src/ckb/types/molecule.advanced/generated.d.ts +433 -0
  122. package/src/ckb/types/molecule.advanced/generated.js +1376 -0
  123. package/src/ckb/types/molecule.advanced/index.ts +1 -0
  124. package/src/ckb/types/script.advanced.ts +14 -0
  125. package/src/ckb/types/script.ts +70 -0
  126. package/src/ckb/types/transaction.advanced.ts +10 -0
  127. package/src/ckb/types/transaction.ts +366 -0
  128. package/src/ckb/viewerCkbScript.ts +21 -0
  129. package/src/client/advanced.ts +2 -0
  130. package/src/client/client.ts +11 -4
  131. package/src/client/clientPublicMainnet.advanced.ts +1 -1
  132. package/src/client/clientPublicMainnet.ts +9 -4
  133. package/src/client/clientPublicTestnet.advanced.ts +1 -1
  134. package/src/client/clientPublicTestnet.ts +9 -4
  135. package/src/client/clientTypes.ts +1 -0
  136. package/src/client/index.ts +1 -7
  137. package/src/client/jsonRpc/advanced.ts +93 -0
  138. package/src/client/jsonRpc/index.ts +83 -0
  139. package/src/fixedPoint.ts +53 -0
  140. package/src/primitive.ts +8 -0
  141. package/src/signer/helpers.ts +43 -0
  142. package/src/signer/index.ts +2 -0
  143. package/src/signer/signer.ts +19 -0
  144. package/src/viewer.ts +16 -8
  145. package/dist/address/address.d.ts +0 -8
  146. package/dist/address/address.d.ts.map +0 -1
  147. package/dist/address/address.js +0 -6
  148. package/dist/address/addressKnownScript.d.ts +0 -13
  149. package/dist/address/addressKnownScript.d.ts.map +0 -1
  150. package/dist/address/addressKnownScript.js +0 -27
  151. package/dist/address/addressPlain.d.ts +0 -12
  152. package/dist/address/addressPlain.d.ts.map +0 -1
  153. package/dist/address/addressPlain.js +0 -23
  154. package/dist/address/converter.d.ts +0 -8
  155. package/dist/address/converter.d.ts.map +0 -1
  156. package/dist/address/converter.js +0 -65
  157. package/dist/bundle.d.ts +0 -9
  158. package/dist/bundle.d.ts.map +0 -1
  159. package/dist/bundle.js +0 -25
  160. package/dist/ckb/viewerCkbAddress.d.ts +0 -14
  161. package/dist/ckb/viewerCkbAddress.d.ts.map +0 -1
  162. package/dist/ckb/viewerCkbAddress.js +0 -28
  163. package/dist/codec/bytes.d.ts +0 -4
  164. package/dist/codec/bytes.d.ts.map +0 -1
  165. package/dist/codec/bytes.js +0 -29
  166. package/dist/codec/hashType.d.ts +0 -4
  167. package/dist/codec/hashType.d.ts.map +0 -1
  168. package/dist/codec/hashType.js +0 -13
  169. package/dist/codec/index.d.ts +0 -4
  170. package/dist/codec/index.d.ts.map +0 -1
  171. package/dist/codec/script.d.ts +0 -4
  172. package/dist/codec/script.d.ts.map +0 -1
  173. package/dist/codec/script.js +0 -22
  174. package/dist/signer.d.ts +0 -9
  175. package/dist/signer.d.ts.map +0 -1
  176. package/dist/signer.js +0 -12
  177. package/dist/types/cell.d.ts +0 -5
  178. package/dist/types/cell.d.ts.map +0 -1
  179. package/dist/types/cell.js +0 -8
  180. package/dist/types/ckb.advanced.d.ts +0 -4
  181. package/dist/types/ckb.advanced.d.ts.map +0 -1
  182. package/dist/types/ckb.d.ts +0 -16
  183. package/dist/types/ckb.d.ts.map +0 -1
  184. package/dist/types/ckb.js +0 -36
  185. package/dist/types/index.d.ts +0 -9
  186. package/dist/types/index.d.ts.map +0 -1
  187. package/dist/types/lumos.d.ts +0 -90
  188. package/dist/types/lumos.d.ts.map +0 -1
  189. package/dist/types/primitive.d.ts +0 -3
  190. package/dist/types/primitive.d.ts.map +0 -1
  191. package/src/address/address.ts +0 -9
  192. package/src/address/addressKnownScript.ts +0 -31
  193. package/src/address/addressPlain.ts +0 -27
  194. package/src/address/converter.ts +0 -93
  195. package/src/ckb/viewerCkbAddress.ts +0 -34
  196. package/src/codec/bytes.ts +0 -30
  197. package/src/codec/hashType.ts +0 -10
  198. package/src/codec/index.ts +0 -3
  199. package/src/codec/script.ts +0 -21
  200. package/src/signer.ts +0 -20
  201. package/src/types/cell.ts +0 -5
  202. package/src/types/ckb.advanced.ts +0 -14
  203. package/src/types/ckb.ts +0 -47
  204. package/src/types/index.ts +0 -9
  205. package/src/types/lumos.ts +0 -101
  206. package/src/types/primitive.ts +0 -2
  207. /package/dist/{types/lumos.js → client/clientTypes.js} +0 -0
  208. /package/dist/{types/primitive.js → primitive.js} +0 -0
@@ -0,0 +1,5 @@
1
+ import { Client } from "../client";
2
+ import { AddressFormat } from "./advanced";
3
+ import { type Address as AddressType } from "./index";
4
+ export declare function fromAddressPayload(prefix: string, format: AddressFormat, payload: number[], client: Client): Promise<AddressType>;
5
+ //# sourceMappingURL=address.advanced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.advanced.d.ts","sourceRoot":"","sources":["../../src/address/address.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAe,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,OAAO,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CA4EtB"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fromAddressPayload = void 0;
4
+ const client_1 = require("../client");
5
+ const bytes_1 = require("../bytes");
6
+ const advanced_1 = require("./advanced");
7
+ const ckb_1 = require("../ckb");
8
+ async function fromAddressPayload(prefix, format, payload, client) {
9
+ if (format === advanced_1.AddressFormat.Full) {
10
+ if (payload.length < 32 + 1) {
11
+ throw new Error(`Invalid full address without enough payload ${(0, bytes_1.toHex)(payload)}`);
12
+ }
13
+ return {
14
+ script: {
15
+ codeHash: (0, bytes_1.toHex)(payload.slice(0, 32)),
16
+ hashType: (0, ckb_1.decodeHashType)(payload.slice(32, 33)),
17
+ args: (0, bytes_1.toHex)(payload.slice(33)),
18
+ },
19
+ prefix,
20
+ };
21
+ }
22
+ if (format === advanced_1.AddressFormat.FullData) {
23
+ if (payload.length < 32) {
24
+ throw new Error(`Invalid full data address without enough payload ${(0, bytes_1.toHex)(payload)}`);
25
+ }
26
+ return {
27
+ script: {
28
+ codeHash: (0, bytes_1.toHex)(payload.slice(0, 32)),
29
+ hashType: "data",
30
+ args: (0, bytes_1.toHex)(payload.slice(32)),
31
+ },
32
+ prefix,
33
+ };
34
+ }
35
+ if (format === advanced_1.AddressFormat.FullType) {
36
+ if (payload.length < 32) {
37
+ throw new Error(`Invalid full type address without enough payload ${(0, bytes_1.toHex)(payload)}`);
38
+ }
39
+ return {
40
+ script: {
41
+ codeHash: (0, bytes_1.toHex)(payload.slice(0, 32)),
42
+ hashType: "type",
43
+ args: (0, bytes_1.toHex)(payload.slice(32)),
44
+ },
45
+ prefix,
46
+ };
47
+ }
48
+ // format === AddressFormat.Short
49
+ if (payload.length !== 21) {
50
+ throw new Error(`Invalid short address without enough payload ${(0, bytes_1.toHex)(payload)}`);
51
+ }
52
+ const script = [
53
+ client_1.KnownScript.Secp256k1Blake160,
54
+ client_1.KnownScript.Secp256k1Multisig,
55
+ client_1.KnownScript.AnyoneCanPay,
56
+ ][payload[0]];
57
+ if (script === undefined) {
58
+ throw new Error(`Invalid short address with unknown script ${(0, bytes_1.toHex)(payload)}`);
59
+ }
60
+ return {
61
+ script: {
62
+ ...(await client.getKnownScript(script)),
63
+ args: (0, bytes_1.toHex)(payload.slice(1)),
64
+ },
65
+ prefix,
66
+ };
67
+ }
68
+ exports.fromAddressPayload = fromAddressPayload;
@@ -1,5 +1,9 @@
1
- import { Client } from "../client";
2
- export declare const BECH32_LIMIT = 1023;
1
+ export * as Address from "./address.advanced";
2
+ export declare function parseAddressToPayload(address: string): {
3
+ prefix: string;
4
+ format: AddressFormat;
5
+ payload: number[];
6
+ };
3
7
  export declare enum AddressFormat {
4
8
  /**
5
9
  * full version identifies the hashType
@@ -21,11 +25,5 @@ export declare enum AddressFormat {
21
25
  */
22
26
  FullType = 4
23
27
  }
24
- export declare function parseAddress(address: string): {
25
- prefix: string;
26
- format: AddressFormat;
27
- body: number[];
28
- };
29
- export declare function decodeAddressInfo(format: AddressFormat, body: number[]): void;
30
- export declare function getClientFromAddressPrefix(prefix: string): Client | undefined;
28
+ export declare const BECH32_LIMIT = 1023;
31
29
  //# sourceMappingURL=advanced.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/address/advanced.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,oBAAY,aAAa;IACvB;;OAEG;IACH,IAAI,IAAO;IACX;;;OAGG;IACH,KAAK,IAAO;IACZ;;;OAGG;IACH,QAAQ,IAAO;IACf;;;OAGG;IACH,QAAQ,IAAO;CAChB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CA2BA;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAI;AAE3E,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ7E"}
1
+ {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/address/advanced.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAE9C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CA2BA;AAED,oBAAY,aAAa;IACvB;;OAEG;IACH,IAAI,IAAO;IACX;;;OAGG;IACH,KAAK,IAAO;IACZ;;;OAGG;IACH,QAAQ,IAAO;IACf;;;OAGG;IACH,QAAQ,IAAO;CAChB;AAED,eAAO,MAAM,YAAY,OAAO,CAAC"}
@@ -1,9 +1,55 @@
1
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 __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getClientFromAddressPrefix = exports.decodeAddressInfo = exports.parseAddress = exports.AddressFormat = exports.BECH32_LIMIT = void 0;
26
+ exports.BECH32_LIMIT = exports.AddressFormat = exports.parseAddressToPayload = exports.Address = void 0;
4
27
  const bech32_1 = require("bech32");
5
- const client_1 = require("../client");
6
- exports.BECH32_LIMIT = 1023;
28
+ exports.Address = __importStar(require("./address.advanced"));
29
+ function parseAddressToPayload(address) {
30
+ // Try parse full format address
31
+ {
32
+ const { words, prefix } = bech32_1.bech32m.decode(address, exports.BECH32_LIMIT);
33
+ const [formatType, ...payload] = bech32_1.bech32m.fromWords(words);
34
+ if (formatType === AddressFormat.Full) {
35
+ return { prefix, format: AddressFormat.Full, payload };
36
+ }
37
+ }
38
+ // Try parse legacy 2019 format address
39
+ {
40
+ const { prefix, words } = bech32_1.bech32.decode(address, exports.BECH32_LIMIT);
41
+ const [formatType, ...payload] = bech32_1.bech32.fromWords(words);
42
+ if ([
43
+ AddressFormat.FullData,
44
+ AddressFormat.FullType,
45
+ AddressFormat.Short,
46
+ ].includes(formatType)) {
47
+ return { prefix, format: formatType, payload };
48
+ }
49
+ }
50
+ throw Error(`Unknown address format ${address}`);
51
+ }
52
+ exports.parseAddressToPayload = parseAddressToPayload;
7
53
  var AddressFormat;
8
54
  (function (AddressFormat) {
9
55
  /**
@@ -26,38 +72,4 @@ var AddressFormat;
26
72
  */
27
73
  AddressFormat[AddressFormat["FullType"] = 4] = "FullType";
28
74
  })(AddressFormat || (exports.AddressFormat = AddressFormat = {}));
29
- function parseAddress(address) {
30
- // Try parse full format address
31
- {
32
- const { words, prefix } = bech32_1.bech32m.decode(address, exports.BECH32_LIMIT);
33
- const [formatType, ...body] = bech32_1.bech32m.fromWords(words);
34
- if (formatType === AddressFormat.Full) {
35
- return { prefix, format: AddressFormat.Full, body };
36
- }
37
- }
38
- // Try parse legacy 2019 format address
39
- {
40
- const { prefix, words } = bech32_1.bech32.decode(address, exports.BECH32_LIMIT);
41
- const [formatType, ...body] = bech32_1.bech32.fromWords(words);
42
- if ([
43
- AddressFormat.FullData,
44
- AddressFormat.FullType,
45
- AddressFormat.Short,
46
- ].includes(formatType)) {
47
- return { prefix, format: formatType, body };
48
- }
49
- }
50
- throw Error(`Unknown address format ${address}`);
51
- }
52
- exports.parseAddress = parseAddress;
53
- function decodeAddressInfo(format, body) { }
54
- exports.decodeAddressInfo = decodeAddressInfo;
55
- function getClientFromAddressPrefix(prefix) {
56
- if (prefix === "ckb") {
57
- return new client_1.ClientPublicMainnet();
58
- }
59
- if (prefix === "ckt") {
60
- return new client_1.ClientPublicTestnet();
61
- }
62
- }
63
- exports.getClientFromAddressPrefix = getClientFromAddressPrefix;
75
+ exports.BECH32_LIMIT = 1023;
@@ -1,6 +1,21 @@
1
- export * from "./address";
2
- export * from "./addressPlain";
3
- export * from "./addressKnownScript";
4
- export * as AdvancedAddress from "./advanced";
5
- export * from "./converter";
1
+ import { DeepReadonly } from "ts-essentials";
2
+ import { Client, KnownScript } from "../client";
3
+ import { Script } from "../ckb";
4
+ import { Hex } from "../primitive";
5
+ export declare class Address {
6
+ script: Script;
7
+ prefix: string;
8
+ constructor(script: Script, prefix: string);
9
+ static fromString(address: string, clients: Client | Record<string, Client>): Promise<Address>;
10
+ static fromScript(script: DeepReadonly<Script>, client: Client): Promise<Address>;
11
+ static fromKnownScript(script: KnownScript, args: Hex, client: Client): Promise<{
12
+ script: {
13
+ args: `0x${string}`;
14
+ codeHash: `0x${string}`;
15
+ hashType: import("../ckb").HashType;
16
+ };
17
+ prefix: string;
18
+ }>;
19
+ static toString(address: DeepReadonly<Address>): string;
20
+ }
6
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/address/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,OAAO,KAAK,eAAe,MAAM,YAAY,CAAC;AAC9C,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/address/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAQhD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAGnC,qBAAa,OAAO;IAET,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;gBADd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM;WAGV,UAAU,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,OAAO,CAAC,OAAO,CAAC;WAiBN,UAAU,CACrB,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAC5B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;WAON,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM;;;;;;;;IAU3E,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM;CAUxD"}
@@ -1,34 +1,45 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.AdvancedAddress = void 0;
30
- __exportStar(require("./address"), exports);
31
- __exportStar(require("./addressPlain"), exports);
32
- __exportStar(require("./addressKnownScript"), exports);
33
- exports.AdvancedAddress = __importStar(require("./advanced"));
34
- __exportStar(require("./converter"), exports);
3
+ exports.Address = void 0;
4
+ const ckb_1 = require("../ckb");
5
+ const advanced_1 = require("./advanced");
6
+ const bech32_1 = require("bech32");
7
+ const bytes_1 = require("../bytes");
8
+ class Address {
9
+ constructor(script, prefix) {
10
+ this.script = script;
11
+ this.prefix = prefix;
12
+ }
13
+ static async fromString(address, clients) {
14
+ const { prefix, format, payload } = (0, advanced_1.parseAddressToPayload)(address);
15
+ const client = clients[prefix] ?? clients;
16
+ if (!client) {
17
+ throw new Error(`Unknown address prefix ${prefix}`);
18
+ }
19
+ const expectedPrefix = await client.getAddressPrefix();
20
+ if (expectedPrefix !== prefix) {
21
+ throw new Error(`Unknown address prefix ${prefix}, expected ${expectedPrefix}`);
22
+ }
23
+ return advanced_1.Address.fromAddressPayload(prefix, format, payload, client);
24
+ }
25
+ static async fromScript(script, client) {
26
+ return {
27
+ script: { ...script },
28
+ prefix: await client.getAddressPrefix(),
29
+ };
30
+ }
31
+ static async fromKnownScript(script, args, client) {
32
+ return {
33
+ script: {
34
+ ...(await client.getKnownScript(script)),
35
+ args,
36
+ },
37
+ prefix: await client.getAddressPrefix(),
38
+ };
39
+ }
40
+ static toString(address) {
41
+ const data = (0, bytes_1.concatBytes)([advanced_1.AddressFormat.Full], (0, bytes_1.toBytes)(address.script.codeHash), (0, ckb_1.encodeHashType)(address.script.hashType), (0, bytes_1.toBytes)(address.script.args));
42
+ return bech32_1.bech32m.encode(address.prefix, bech32_1.bech32m.toWords(data), advanced_1.BECH32_LIMIT);
43
+ }
44
+ }
45
+ exports.Address = Address;
@@ -0,0 +1,3 @@
1
+ export * from "./advancedBarrel";
2
+ export * as cccA from "./advancedBarrel";
3
+ //# sourceMappingURL=advanced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../src/advanced.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,kBAAkB,CAAC"}
@@ -26,12 +26,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.AdvancedType = exports.lumos = void 0;
30
- __exportStar(require("./cell"), exports);
31
- const ckbAdvanced = __importStar(require("./ckb.advanced"));
32
- __exportStar(require("./ckb"), exports);
33
- exports.lumos = __importStar(require("./lumos"));
34
- __exportStar(require("./primitive"), exports);
35
- exports.AdvancedType = {
36
- ...ckbAdvanced,
37
- };
29
+ exports.cccA = void 0;
30
+ __exportStar(require("./advancedBarrel"), exports);
31
+ exports.cccA = __importStar(require("./advancedBarrel"));
@@ -0,0 +1,4 @@
1
+ export * from "./address/advanced";
2
+ export * from "./ckb/advanced";
3
+ export * from "./client/advanced";
4
+ //# sourceMappingURL=advancedBarrel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advancedBarrel.d.ts","sourceRoot":"","sources":["../src/advancedBarrel.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,19 @@
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("./address/advanced"), exports);
18
+ __exportStar(require("./ckb/advanced"), exports);
19
+ __exportStar(require("./client/advanced"), exports);
package/dist/barrel.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  export * from "./address";
2
+ export * from "./bytes";
2
3
  export * from "./ckb";
3
4
  export * from "./client";
4
- export * from "./codec";
5
- export * from "./types";
5
+ export * from "./fixedPoint";
6
+ export * from "./primitive";
6
7
  export * from "./signer";
7
8
  export * from "./viewer";
8
9
  //# sourceMappingURL=barrel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../src/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../src/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
package/dist/barrel.js CHANGED
@@ -15,9 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./address"), exports);
18
+ __exportStar(require("./bytes"), exports);
18
19
  __exportStar(require("./ckb"), exports);
19
20
  __exportStar(require("./client"), exports);
20
- __exportStar(require("./codec"), exports);
21
- __exportStar(require("./types"), exports);
21
+ __exportStar(require("./fixedPoint"), exports);
22
+ __exportStar(require("./primitive"), exports);
22
23
  __exportStar(require("./signer"), exports);
23
24
  __exportStar(require("./viewer"), exports);
@@ -0,0 +1,15 @@
1
+ import { BytesLike, Hex, HexLike, NumberLike } from "./primitive";
2
+ export declare function concatBytes(...args: BytesLike[]): Uint8Array;
3
+ export declare function encodeUtf8(val: string): Uint8Array;
4
+ export declare function decodeUtf8(val: BytesLike): string;
5
+ export declare function toBytes(bytes: BytesLike): Uint8Array;
6
+ export declare function toHexFromHex(bytes: HexLike): Hex;
7
+ export declare function toHex(bytes: HexLike): Hex;
8
+ export declare function toNumber(val: NumberLike): string;
9
+ export declare function toBytesFromNumber(val: NumberLike, bytes?: number): Uint8Array;
10
+ export declare function toBytesFromLENumber(val: NumberLike, bytes?: number): Uint8Array;
11
+ export declare function toBytesFromBENumber(val: NumberLike, bytes?: number): Uint8Array;
12
+ export declare function toNumberFromBytes(val: BytesLike): string;
13
+ export declare function toLENumberFromBytes(val: BytesLike): string;
14
+ export declare function toBENumberFromBytes(val: BytesLike): string;
15
+ //# sourceMappingURL=bytes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.d.ts","sourceRoot":"","sources":["../src/bytes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlE,wBAAgB,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAO5D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAElD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAEjD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,UAAU,CAsBpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAMhD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAUzC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAEhD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAE7E;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,UAAU,EACf,KAAK,CAAC,EAAE,MAAM,GACb,UAAU,CAEZ;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,UAAU,EACf,KAAK,CAAC,EAAE,MAAM,GACb,UAAU,CA2BZ;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAExD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAO1D"}
package/dist/bytes.js ADDED
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toBENumberFromBytes = exports.toLENumberFromBytes = exports.toNumberFromBytes = exports.toBytesFromBENumber = exports.toBytesFromLENumber = exports.toBytesFromNumber = exports.toNumber = exports.toHex = exports.toHexFromHex = exports.toBytes = exports.decodeUtf8 = exports.encodeUtf8 = exports.concatBytes = void 0;
4
+ const buffer_1 = require("buffer/");
5
+ function concatBytes(...args) {
6
+ return new Uint8Array(args.reduce((acc, v) => {
7
+ acc.push(...toBytes(v));
8
+ return acc;
9
+ }, []));
10
+ }
11
+ exports.concatBytes = concatBytes;
12
+ function encodeUtf8(val) {
13
+ return buffer_1.Buffer.from(val, "utf-8");
14
+ }
15
+ exports.encodeUtf8 = encodeUtf8;
16
+ function decodeUtf8(val) {
17
+ return buffer_1.Buffer.from(toBytes(val)).toString("utf-8");
18
+ }
19
+ exports.decodeUtf8 = decodeUtf8;
20
+ function toBytes(bytes) {
21
+ if (bytes instanceof Uint8Array) {
22
+ return bytes;
23
+ }
24
+ if (bytes instanceof ArrayBuffer) {
25
+ return new Uint8Array(bytes);
26
+ }
27
+ if (Array.isArray(bytes)) {
28
+ if (bytes.some((v) => v < 0 || 0xff < v)) {
29
+ throw new Error(`Invalid bytes ${JSON.stringify(bytes)}`);
30
+ }
31
+ return new Uint8Array(bytes);
32
+ }
33
+ const str = bytes.length % 2 === 0 ? bytes.slice(2) : `0${bytes.slice(2)}`;
34
+ const data = buffer_1.Buffer.from(str, "hex");
35
+ if (data.length * 2 !== str.length) {
36
+ throw new Error(`Invalid bytes ${bytes}`);
37
+ }
38
+ return data;
39
+ }
40
+ exports.toBytes = toBytes;
41
+ function toHexFromHex(bytes) {
42
+ if (typeof bytes === "string" && !bytes.startsWith("0x")) {
43
+ return `0x${bytes}`;
44
+ }
45
+ return toHex(bytes);
46
+ }
47
+ exports.toHexFromHex = toHexFromHex;
48
+ function toHex(bytes) {
49
+ if (typeof bytes === "number") {
50
+ return `0x${bytes.toString(16)}`;
51
+ }
52
+ if (typeof bytes === "string" && !bytes.startsWith("0x")) {
53
+ return `0x${BigInt(bytes).toString(16)}`;
54
+ }
55
+ return `0x${buffer_1.Buffer.from(toBytes(bytes)).toString("hex")}`;
56
+ }
57
+ exports.toHex = toHex;
58
+ function toNumber(val) {
59
+ return BigInt(val).toString();
60
+ }
61
+ exports.toNumber = toNumber;
62
+ function toBytesFromNumber(val, bytes) {
63
+ return toBytesFromLENumber(val, bytes);
64
+ }
65
+ exports.toBytesFromNumber = toBytesFromNumber;
66
+ function toBytesFromLENumber(val, bytes) {
67
+ return toBytesFromBENumber(val, bytes).reverse();
68
+ }
69
+ exports.toBytesFromLENumber = toBytesFromLENumber;
70
+ function toBytesFromBENumber(val, bytes) {
71
+ let valStr = val;
72
+ if (typeof valStr === "number" || typeof valStr === "bigint") {
73
+ valStr = valStr.toString(16);
74
+ }
75
+ else if (typeof valStr === "string") {
76
+ if (valStr.startsWith("0x")) {
77
+ valStr = valStr.slice(2);
78
+ }
79
+ else {
80
+ valStr = BigInt(valStr).toString(16);
81
+ }
82
+ }
83
+ if (valStr.length % 2 !== 0) {
84
+ valStr = `0${valStr}`;
85
+ }
86
+ const res = toBytes(`0x${valStr}`);
87
+ if (bytes == null) {
88
+ return res;
89
+ }
90
+ if (res.length > bytes) {
91
+ return res.slice(res.length - bytes);
92
+ }
93
+ return new Uint8Array([
94
+ ...Array.from(Array(bytes - res.length), () => 0),
95
+ ...res,
96
+ ]);
97
+ }
98
+ exports.toBytesFromBENumber = toBytesFromBENumber;
99
+ function toNumberFromBytes(val) {
100
+ return toLENumberFromBytes(val);
101
+ }
102
+ exports.toNumberFromBytes = toNumberFromBytes;
103
+ function toLENumberFromBytes(val) {
104
+ return toBENumberFromBytes(toBytes(val).reverse());
105
+ }
106
+ exports.toLENumberFromBytes = toLENumberFromBytes;
107
+ function toBENumberFromBytes(val) {
108
+ const str = toHex(val).replace(/0x0*/, "0x");
109
+ if (str.length === 2) {
110
+ return "0";
111
+ }
112
+ return BigInt(str).toString();
113
+ }
114
+ exports.toBENumberFromBytes = toBENumberFromBytes;
@@ -0,0 +1,3 @@
1
+ export * from "./hasher.advanced";
2
+ export * from "./types/advanced";
3
+ //# sourceMappingURL=advanced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/ckb/advanced.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,18 @@
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.advanced"), exports);
18
+ __exportStar(require("./types/advanced"), exports);
@@ -0,0 +1,2 @@
1
+ export declare const CKB_BLAKE2B_PERSONAL = "ckb-default-hash";
2
+ //# sourceMappingURL=hasher.advanced.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasher.advanced.d.ts","sourceRoot":"","sources":["../../src/ckb/hasher.advanced.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CKB_BLAKE2B_PERSONAL = void 0;
4
+ exports.CKB_BLAKE2B_PERSONAL = "ckb-default-hash";
@@ -0,0 +1,10 @@
1
+ import { Blake2b } from "blake2b";
2
+ import { BytesLike, Hex } from "../primitive";
3
+ export declare class Hasher {
4
+ hasher: Blake2b;
5
+ constructor(outLength?: number, personal?: string);
6
+ update(data: BytesLike): Hasher;
7
+ digest(): Hex;
8
+ }
9
+ export declare function ckbHash(data: BytesLike): Hex;
10
+ //# sourceMappingURL=hasher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/ckb/hasher.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAI9C,qBAAa,MAAM;IACjB,MAAM,EAAE,OAAO,CAAC;gBAEJ,SAAS,SAAK,EAAE,QAAQ,SAAuB;IAS3D,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAK/B,MAAM,IAAI,GAAG;CAGd;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,GAAG,CAE5C"}
@@ -0,0 +1,26 @@
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.ckbHash = exports.Hasher = void 0;
7
+ const blake2b_1 = __importDefault(require("blake2b"));
8
+ const bytes_1 = require("../bytes");
9
+ const hasher_advanced_1 = require("./hasher.advanced");
10
+ class Hasher {
11
+ constructor(outLength = 32, personal = hasher_advanced_1.CKB_BLAKE2B_PERSONAL) {
12
+ this.hasher = (0, blake2b_1.default)(outLength, undefined, undefined, (0, bytes_1.encodeUtf8)(personal));
13
+ }
14
+ update(data) {
15
+ this.hasher.update((0, bytes_1.toBytes)(data));
16
+ return this;
17
+ }
18
+ digest() {
19
+ return `0x${this.hasher.digest("hex")}`;
20
+ }
21
+ }
22
+ exports.Hasher = Hasher;
23
+ function ckbHash(data) {
24
+ return new Hasher().update(data).digest();
25
+ }
26
+ exports.ckbHash = ckbHash;
@@ -1,2 +1,4 @@
1
- export * from "./viewerCkbAddress";
1
+ export * from "./hasher";
2
+ export * from "./types";
3
+ export * from "./viewerCkbScript";
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC"}