@ckb-ccc/core 0.1.2 → 1.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 (110) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/address/address.advanced.d.ts.map +1 -1
  3. package/dist/address/address.advanced.js +6 -2
  4. package/dist/barrel.d.ts +1 -1
  5. package/dist/barrel.d.ts.map +1 -1
  6. package/dist/barrel.js +1 -1
  7. package/dist/bytes/index.d.ts +35 -0
  8. package/dist/bytes/index.d.ts.map +1 -1
  9. package/dist/bytes/index.js +60 -4
  10. package/dist/ckb/advanced.d.ts +0 -1
  11. package/dist/ckb/advanced.d.ts.map +1 -1
  12. package/dist/ckb/advanced.js +0 -1
  13. package/dist/ckb/script.d.ts +17 -58
  14. package/dist/ckb/script.d.ts.map +1 -1
  15. package/dist/ckb/script.js +29 -78
  16. package/dist/ckb/transaction.d.ts +125 -264
  17. package/dist/ckb/transaction.d.ts.map +1 -1
  18. package/dist/ckb/transaction.js +146 -357
  19. package/dist/molecule/barrel.d.ts +4 -0
  20. package/dist/molecule/barrel.d.ts.map +1 -0
  21. package/dist/molecule/barrel.js +3 -0
  22. package/dist/molecule/codec.d.ts +2 -0
  23. package/dist/molecule/codec.d.ts.map +1 -1
  24. package/dist/molecule/codec.js +57 -44
  25. package/dist/molecule/entity.d.ts +119 -0
  26. package/dist/molecule/entity.d.ts.map +1 -0
  27. package/dist/molecule/entity.js +134 -0
  28. package/dist/molecule/index.d.ts +1 -2
  29. package/dist/molecule/index.d.ts.map +1 -1
  30. package/dist/molecule/index.js +1 -2
  31. package/dist/molecule/predefined.d.ts +13 -20
  32. package/dist/molecule/predefined.d.ts.map +1 -1
  33. package/dist/molecule/predefined.js +14 -54
  34. package/dist/num/index.d.ts.map +1 -1
  35. package/dist/num/index.js +2 -2
  36. package/dist/signer/btc/verify.js +1 -1
  37. package/dist/signer/doge/verify.d.ts.map +1 -1
  38. package/dist/signer/doge/verify.js +3 -1
  39. package/dist/utils/index.d.ts +3 -0
  40. package/dist/utils/index.d.ts.map +1 -1
  41. package/dist.commonjs/address/address.advanced.d.ts.map +1 -1
  42. package/dist.commonjs/address/address.advanced.js +6 -2
  43. package/dist.commonjs/barrel.d.ts +1 -1
  44. package/dist.commonjs/barrel.d.ts.map +1 -1
  45. package/dist.commonjs/barrel.js +1 -14
  46. package/dist.commonjs/bytes/index.d.ts +35 -0
  47. package/dist.commonjs/bytes/index.d.ts.map +1 -1
  48. package/dist.commonjs/bytes/index.js +62 -4
  49. package/dist.commonjs/ckb/advanced.d.ts +0 -1
  50. package/dist.commonjs/ckb/advanced.d.ts.map +1 -1
  51. package/dist.commonjs/ckb/advanced.js +0 -14
  52. package/dist.commonjs/ckb/script.d.ts +17 -58
  53. package/dist.commonjs/ckb/script.d.ts.map +1 -1
  54. package/dist.commonjs/ckb/script.js +29 -102
  55. package/dist.commonjs/ckb/transaction.d.ts +125 -264
  56. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  57. package/dist.commonjs/ckb/transaction.js +167 -408
  58. package/dist.commonjs/molecule/barrel.d.ts +4 -0
  59. package/dist.commonjs/molecule/barrel.d.ts.map +1 -0
  60. package/dist.commonjs/{ckb/molecule.advanced/index.js → molecule/barrel.js} +3 -8
  61. package/dist.commonjs/molecule/codec.d.ts +2 -0
  62. package/dist.commonjs/molecule/codec.d.ts.map +1 -1
  63. package/dist.commonjs/molecule/codec.js +56 -43
  64. package/dist.commonjs/molecule/entity.d.ts +119 -0
  65. package/dist.commonjs/molecule/entity.d.ts.map +1 -0
  66. package/dist.commonjs/molecule/entity.js +139 -0
  67. package/dist.commonjs/molecule/index.d.ts +1 -2
  68. package/dist.commonjs/molecule/index.d.ts.map +1 -1
  69. package/dist.commonjs/molecule/index.js +13 -4
  70. package/dist.commonjs/molecule/predefined.d.ts +13 -20
  71. package/dist.commonjs/molecule/predefined.d.ts.map +1 -1
  72. package/dist.commonjs/molecule/predefined.js +14 -77
  73. package/dist.commonjs/num/index.d.ts.map +1 -1
  74. package/dist.commonjs/num/index.js +2 -2
  75. package/dist.commonjs/signer/btc/verify.js +1 -1
  76. package/dist.commonjs/signer/doge/verify.d.ts.map +1 -1
  77. package/dist.commonjs/signer/doge/verify.js +3 -1
  78. package/dist.commonjs/utils/index.d.ts +3 -0
  79. package/dist.commonjs/utils/index.d.ts.map +1 -1
  80. package/package.json +1 -1
  81. package/src/address/address.advanced.ts +6 -2
  82. package/src/barrel.ts +1 -1
  83. package/src/bytes/index.ts +70 -6
  84. package/src/ckb/advanced.ts +0 -1
  85. package/src/ckb/script.ts +20 -85
  86. package/src/ckb/transaction.ts +123 -416
  87. package/src/molecule/barrel.ts +3 -0
  88. package/src/molecule/codec.ts +82 -66
  89. package/src/molecule/entity.ts +183 -0
  90. package/src/molecule/index.ts +1 -2
  91. package/src/molecule/predefined.ts +20 -69
  92. package/src/num/index.ts +2 -5
  93. package/src/signer/btc/verify.ts +1 -1
  94. package/src/signer/doge/verify.ts +3 -1
  95. package/src/utils/index.ts +5 -0
  96. package/dist/ckb/molecule.advanced/generated.d.ts +0 -355
  97. package/dist/ckb/molecule.advanced/generated.d.ts.map +0 -1
  98. package/dist/ckb/molecule.advanced/generated.js +0 -1468
  99. package/dist/ckb/molecule.advanced/index.d.ts +0 -6
  100. package/dist/ckb/molecule.advanced/index.d.ts.map +0 -1
  101. package/dist/ckb/molecule.advanced/index.js +0 -7
  102. package/dist.commonjs/ckb/molecule.advanced/generated.d.ts +0 -355
  103. package/dist.commonjs/ckb/molecule.advanced/generated.d.ts.map +0 -1
  104. package/dist.commonjs/ckb/molecule.advanced/generated.js +0 -1535
  105. package/dist.commonjs/ckb/molecule.advanced/index.d.ts +0 -6
  106. package/dist.commonjs/ckb/molecule.advanced/index.d.ts.map +0 -1
  107. package/src/ckb/molecule.advanced/blockchain.mol +0 -118
  108. package/src/ckb/molecule.advanced/generated.d.ts +0 -444
  109. package/src/ckb/molecule.advanced/generated.js +0 -1804
  110. package/src/ckb/molecule.advanced/index.ts +0 -11
@@ -1,33 +1,39 @@
1
1
  import { bytesFrom, bytesTo } from "../bytes/index.js";
2
- import * as ckb from "../ckb/index.js";
3
2
  import { hexFrom } from "../hex/index.js";
4
- import { byteVec, Codec, option, struct, table, uint, uintNumber, vector, } from "./codec.js";
3
+ import { byteVec, Codec, option, uint, uintNumber, vector } from "./codec.js";
5
4
  export const Uint8 = uintNumber(1, true);
5
+ export const Uint8Opt = option(Uint8);
6
+ export const Uint8Vec = vector(Uint8);
6
7
  export const Uint16LE = uintNumber(2, true);
7
8
  export const Uint16BE = uintNumber(2);
8
9
  export const Uint16 = Uint16LE;
10
+ export const Uint16Opt = option(Uint16);
11
+ export const Uint16Vec = vector(Uint16);
9
12
  export const Uint32LE = uintNumber(4, true);
10
13
  export const Uint32BE = uintNumber(4);
11
14
  export const Uint32 = Uint32LE;
15
+ export const Uint32Opt = option(Uint32);
16
+ export const Uint32Vec = vector(Uint32);
12
17
  export const Uint64LE = uint(8, true);
13
18
  export const Uint64BE = uint(8);
14
19
  export const Uint64 = Uint64LE;
20
+ export const Uint64Opt = option(Uint64);
21
+ export const Uint64Vec = vector(Uint64);
15
22
  export const Uint128LE = uint(16, true);
16
23
  export const Uint128BE = uint(16);
17
24
  export const Uint128 = Uint128LE;
25
+ export const Uint128Opt = option(Uint128);
26
+ export const Uint128Vec = vector(Uint128);
18
27
  export const Uint256LE = uint(32, true);
19
28
  export const Uint256BE = uint(32);
20
29
  export const Uint256 = Uint256LE;
30
+ export const Uint256Opt = option(Uint256);
31
+ export const Uint256Vec = vector(Uint256);
21
32
  export const Uint512LE = uint(64, true);
22
33
  export const Uint512BE = uint(64);
23
34
  export const Uint512 = Uint512LE;
24
- export const Uint8Opt = option(Uint8);
25
- export const Uint16Opt = option(Uint16);
26
- export const Uint32Opt = option(Uint32);
27
- export const Uint64Opt = option(Uint64);
28
- export const Uint128Opt = option(Uint128);
29
- export const Uint256Opt = option(Uint256);
30
35
  export const Uint512Opt = option(Uint512);
36
+ export const Uint512Vec = vector(Uint512);
31
37
  export const Bytes = byteVec({
32
38
  encode: (value) => bytesFrom(value),
33
39
  decode: (buffer) => hexFrom(buffer),
@@ -47,49 +53,3 @@ export const String = byteVec({
47
53
  });
48
54
  export const StringVec = vector(String);
49
55
  export const StringOpt = option(String);
50
- export const Hash = Byte32;
51
- export const HashType = Codec.from({
52
- byteLength: 1,
53
- encode: ckb.hashTypeToBytes,
54
- decode: ckb.hashTypeFromBytes,
55
- });
56
- export const Script = table({
57
- codeHash: Hash,
58
- hashType: HashType,
59
- args: Bytes,
60
- }).map({ outMap: ckb.Script.from });
61
- export const ScriptOpt = option(Script);
62
- export const OutPoint = struct({
63
- txHash: Hash,
64
- index: Uint32,
65
- }).map({ outMap: ckb.OutPoint.from });
66
- export const CellInput = struct({
67
- previousOutput: OutPoint,
68
- since: Uint64,
69
- }).map({ outMap: ckb.CellInput.from });
70
- export const CellInputVec = vector(CellInput);
71
- export const CellOutput = table({
72
- capacity: Uint64,
73
- lock: Script,
74
- type: ScriptOpt,
75
- }).map({ outMap: ckb.CellOutput.from });
76
- export const CellOutputVec = vector(CellOutput);
77
- export const DepType = Codec.from({
78
- byteLength: 1,
79
- encode: ckb.depTypeToBytes,
80
- decode: ckb.depTypeFromBytes,
81
- });
82
- export const CellDep = struct({
83
- outPoint: OutPoint,
84
- depType: DepType,
85
- }).map({ outMap: ckb.CellDep.from });
86
- export const CellDepVec = vector(CellDep);
87
- export const Transaction = table({
88
- version: Uint32,
89
- cellDeps: CellDepVec,
90
- headerDeps: Byte32Vec,
91
- inputs: CellInputVec,
92
- outputs: CellOutputVec,
93
- outputsData: BytesVec,
94
- witnesses: BytesVec,
95
- }).map({ outMap: ckb.Transaction.from });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/num/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAA0B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,iBAAiB,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AAEzB;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAS7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAS7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAUzC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAE1C;AAED;;;;;;;;;;;;GAYG;AAEH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAE9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAEhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAUhE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,CAEhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,CAElD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,CAElD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/num/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAA0B,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,iBAAiB,CAAC;AAExD;;;GAGG;AACH,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AAEzB;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAS7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAS7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAUzC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,CAE1C;AAED;;;;;;;;;;;;GAYG;AAEH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAE9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAEhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAOhE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,CAEhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,CAElD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,CAElD"}
package/dist/num/index.js CHANGED
@@ -131,7 +131,7 @@ export function numBeToBytes(val, bytes) {
131
131
  if (bytes == null) {
132
132
  return rawBytes;
133
133
  }
134
- return bytesConcat(Array.from(Array(bytes - rawBytes.length), () => 0), rawBytes);
134
+ return bytesConcat("00".repeat(bytes - rawBytes.length), rawBytes);
135
135
  }
136
136
  /**
137
137
  * Converts a byte array to a Num (bigint) assuming little-endian order.
@@ -161,7 +161,7 @@ export function numFromBytes(val) {
161
161
  * ```
162
162
  */
163
163
  export function numLeFromBytes(val) {
164
- return numBeFromBytes([...bytesFrom(val)].reverse());
164
+ return numBeFromBytes(bytesFrom(val).reverse());
165
165
  }
166
166
  /**
167
167
  * Converts a byte array to a Num (bigint) assuming big-endian order.
@@ -28,6 +28,6 @@ export function btcPublicKeyFromP2pkhAddress(address) {
28
28
  */
29
29
  export function verifyMessageBtcEcdsa(message, signature, publicKey) {
30
30
  const challenge = typeof message === "string" ? message : hexFrom(message).slice(2);
31
- const [_, ...rawSign] = bytesFrom(signature, "base64");
31
+ const rawSign = bytesFrom(signature, "base64").slice(1);
32
32
  return secp256k1.verify(bytesFrom(rawSign), magicHash(challenge), publicKey);
33
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/doge/verify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAO5D;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAqBT"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/signer/doge/verify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAO5D;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAuBT"}
@@ -8,7 +8,9 @@ import { btcEcdsaPublicKeyHash, btcPublicKeyFromP2pkhAddress, } from "../btc/ver
8
8
  */
9
9
  export function verifyMessageDogeEcdsa(message, signature, address) {
10
10
  const challenge = typeof message === "string" ? message : hexFrom(message).slice(2);
11
- const [recoveryBit, ...rawSign] = bytesFrom(signature, "base64");
11
+ const signatureBytes = bytesFrom(signature, "base64");
12
+ const recoveryBit = signatureBytes[0];
13
+ const rawSign = signatureBytes.slice(1);
12
14
  const sig = secp256k1.Signature.fromCompact(hexFrom(rawSign).slice(2)).addRecoveryBit(recoveryBit - 31);
13
15
  return (btcPublicKeyFromP2pkhAddress(address) ===
14
16
  hexFrom(btcEcdsaPublicKeyHash(sig
@@ -83,6 +83,9 @@ export declare function reduceAsync<T>(values: T[], accumulator: (a: T, b: T) =>
83
83
  */
84
84
  export declare function reduceAsync<T, V>(values: V[], accumulator: (a: T, b: V, i: number, values: V[]) => Promise<T | undefined | null | void> | T | undefined | null | void, init: T | Promise<T>): Promise<T>;
85
85
  export declare function sleep(ms: NumLike): Promise<unknown>;
86
+ export type Constructor<T> = {
87
+ new (...args: any[]): T;
88
+ };
86
89
  /**
87
90
  * @public
88
91
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,SAAS,GACf,SAAS,CAAC;AACb;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,CAAC;AAChF;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;AACrE;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,CAAC,GAAG,SAAS,GACnB,CAAC,GAAG,SAAS,CAAC;AACjB;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,CAAC,GAAG,IAAI,GACd,CAAC,GAAG,SAAS,CAAC;AACjB;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,SAAS,GAAG,IAAI,GACtB,SAAS,CAAC;AACb;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,GAC1B,CAAC,GAAG,SAAS,CAAC;AAoBjB;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,EAAE,EACX,WAAW,EAAE,CACX,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,KACD,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GACtE,OAAO,CAAC,CAAC,CAAC,CAAC;AACd;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,CAAC,EACpC,MAAM,EAAE,CAAC,EAAE,EACX,WAAW,EAAE,CACX,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,CAAC,EAAE,KACR,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,EACvE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAAC;AAqCd,wBAAgB,KAAK,CAAC,EAAE,EAAE,OAAO,oBAEhC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,SAAS,GACf,SAAS,CAAC;AACb;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,CAAC;AAChF;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;AACrE;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,CAAC,GAAG,SAAS,GACnB,CAAC,GAAG,SAAS,CAAC;AACjB;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,CAAC,GAAG,IAAI,GACd,CAAC,GAAG,SAAS,CAAC;AACjB;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,SAAS,GAAG,IAAI,GACtB,SAAS,CAAC;AACb;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EACxB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAC1B,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,GAC1B,CAAC,GAAG,SAAS,CAAC;AAoBjB;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,EAAE,EACX,WAAW,EAAE,CACX,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,KACD,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GACtE,OAAO,CAAC,CAAC,CAAC,CAAC;AACd;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,CAAC,EAAE,CAAC,EACpC,MAAM,EAAE,CAAC,EAAE,EACX,WAAW,EAAE,CACX,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,CAAC,EAAE,KACR,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,EACvE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAAC;AAqCd,wBAAgB,KAAK,CAAC,EAAE,EAAE,OAAO,oBAEhC;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAE3B,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"address.advanced.d.ts","sourceRoot":"","sources":["../../src/address/address.advanced.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAe,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AAEH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CA2BA;AAED;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAyEtB;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,oBAAoB,OAAO,CAAC"}
1
+ {"version":3,"file":"address.advanced.d.ts","sourceRoot":"","sources":["../../src/address/address.advanced.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAe,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AAEH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CA+BA;AAED;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAyEtB;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,oBAAoB,OAAO,CAAC"}
@@ -27,7 +27,9 @@ function addressPayloadFromString(address) {
27
27
  // Try parse full format address
28
28
  try {
29
29
  const { words, prefix } = bech32_1.bech32m.decode(address, exports.ADDRESS_BECH32_LIMIT);
30
- const [formatType, ...payload] = bech32_1.bech32m.fromWords(words);
30
+ const decoded = bech32_1.bech32m.fromWords(words);
31
+ const formatType = decoded[0];
32
+ const payload = decoded.slice(1);
31
33
  if (formatType === AddressFormat.Full) {
32
34
  return { prefix, format: AddressFormat.Full, payload };
33
35
  }
@@ -36,7 +38,9 @@ function addressPayloadFromString(address) {
36
38
  // Try parse legacy 2019 format address
37
39
  try {
38
40
  const { prefix, words } = bech32_1.bech32.decode(address, exports.ADDRESS_BECH32_LIMIT);
39
- const [formatType, ...payload] = bech32_1.bech32.fromWords(words);
41
+ const decoded = bech32_1.bech32.fromWords(words);
42
+ const formatType = decoded[0];
43
+ const payload = decoded.slice(1);
40
44
  if ([
41
45
  AddressFormat.FullData,
42
46
  AddressFormat.FullType,
@@ -6,7 +6,7 @@ export * from "./fixedPoint/index.js";
6
6
  export * from "./hasher/index.js";
7
7
  export * from "./hex/index.js";
8
8
  export * from "./keystore/index.js";
9
- export * as mol from "./molecule/index.js";
9
+ export * from "./molecule/index.js";
10
10
  export * from "./num/index.js";
11
11
  export * from "./signer/index.js";
12
12
  export * from "./utils/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../src/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"barrel.d.ts","sourceRoot":"","sources":["../src/barrel.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
@@ -10,23 +10,10 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
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
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
15
  };
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
16
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.mol = void 0;
30
17
  __exportStar(require("./address/index.js"), exports);
31
18
  __exportStar(require("./bytes/index.js"), exports);
32
19
  __exportStar(require("./ckb/index.js"), exports);
@@ -35,7 +22,7 @@ __exportStar(require("./fixedPoint/index.js"), exports);
35
22
  __exportStar(require("./hasher/index.js"), exports);
36
23
  __exportStar(require("./hex/index.js"), exports);
37
24
  __exportStar(require("./keystore/index.js"), exports);
38
- exports.mol = __importStar(require("./molecule/index.js"));
25
+ __exportStar(require("./molecule/index.js"), exports);
39
26
  __exportStar(require("./num/index.js"), exports);
40
27
  __exportStar(require("./signer/index.js"), exports);
41
28
  __exportStar(require("./utils/index.js"), exports);
@@ -7,6 +7,27 @@ export type Bytes = Uint8Array;
7
7
  * @public
8
8
  */
9
9
  export type BytesLike = string | Uint8Array | ArrayBuffer | ArrayLike<number>;
10
+ /**
11
+ * Concatenates multiple byte-like arrays to the first number array.
12
+ * @public
13
+ *
14
+ * @param result - The number array as result
15
+ * @param args - The byte-like arrays to concatenate.
16
+ * @returns The first number array
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const concatenatedBytes = [1, 2];
21
+ * bytesConcatTo(
22
+ * concatenatedBytes
23
+ * new Uint8Array([3, 4]),
24
+ * "hello",
25
+ * [5, 6, 7]
26
+ * );
27
+ * console.log(concatenatedBytes); // Outputs [1, 2, 3, 4, /* bytes of "hello" *\/, 5, 6, 7]
28
+ * ```
29
+ */
30
+ export declare function bytesConcatTo(result: number[], ...args: BytesLike[]): number[];
10
31
  /**
11
32
  * Concatenates multiple byte-like arrays into a single byte array.
12
33
  * @public
@@ -70,4 +91,18 @@ export declare function bytesTo(val: BytesLike, encoding: BytesFromEncoding): st
70
91
  * ```
71
92
  */
72
93
  export declare function bytesFrom(bytes: BytesLike, encoding?: BytesFromEncoding): Bytes;
94
+ /**
95
+ * Compares two byte-like values for equality.
96
+ * @public
97
+ *
98
+ * @param a - The first byte-like value to compare.
99
+ * @param b - The second byte-like value to compare.
100
+ * @returns A boolean indicating whether the two byte-like values are equal.
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * bytesEq([1], Uint8Array.from([1])) // true
105
+ * ```
106
+ */
107
+ export declare function bytesEq(a: BytesLike, b: BytesLike): boolean;
73
108
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bytes/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAC/B;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAgB,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAOvD;AAED;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAE3E;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,KAAK,CA4BP"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bytes/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC;AAC/B;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EAAE,EAChB,GAAG,IAAI,EAAE,SAAS,EAAE,GACnB,MAAM,EAAE,CASV;AAED;;;;;;;;;;;;;;;;;GAiBG;AAEH,wBAAgB,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAEvD;AAED;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAgB,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAE3E;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,KAAK,CA4BP;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,CAmB3D"}
@@ -1,9 +1,41 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bytesConcatTo = bytesConcatTo;
3
4
  exports.bytesConcat = bytesConcat;
4
5
  exports.bytesTo = bytesTo;
5
6
  exports.bytesFrom = bytesFrom;
7
+ exports.bytesEq = bytesEq;
6
8
  const index_js_1 = require("buffer/index.js");
9
+ /**
10
+ * Concatenates multiple byte-like arrays to the first number array.
11
+ * @public
12
+ *
13
+ * @param result - The number array as result
14
+ * @param args - The byte-like arrays to concatenate.
15
+ * @returns The first number array
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const concatenatedBytes = [1, 2];
20
+ * bytesConcatTo(
21
+ * concatenatedBytes
22
+ * new Uint8Array([3, 4]),
23
+ * "hello",
24
+ * [5, 6, 7]
25
+ * );
26
+ * console.log(concatenatedBytes); // Outputs [1, 2, 3, 4, /* bytes of "hello" *\/, 5, 6, 7]
27
+ * ```
28
+ */
29
+ function bytesConcatTo(result, ...args) {
30
+ return args.reduce((acc, v) => {
31
+ const bytes = bytesFrom(v);
32
+ // Spread operator will cause call stack size exceeded
33
+ for (const byte of bytes) {
34
+ result.push(byte);
35
+ }
36
+ return acc;
37
+ }, result);
38
+ }
7
39
  /**
8
40
  * Concatenates multiple byte-like arrays into a single byte array.
9
41
  * @public
@@ -23,10 +55,7 @@ const index_js_1 = require("buffer/index.js");
23
55
  * ```
24
56
  */
25
57
  function bytesConcat(...args) {
26
- return new Uint8Array(args.reduce((acc, v) => {
27
- acc.push(...bytesFrom(v));
28
- return acc;
29
- }, []));
58
+ return new Uint8Array(bytesConcatTo([], ...args));
30
59
  }
31
60
  /**
32
61
  * Converts a byte-like value to a string using the specified encoding.
@@ -98,3 +127,32 @@ function bytesFrom(bytes, encoding) {
98
127
  }
99
128
  return new Uint8Array(bytes);
100
129
  }
130
+ /**
131
+ * Compares two byte-like values for equality.
132
+ * @public
133
+ *
134
+ * @param a - The first byte-like value to compare.
135
+ * @param b - The second byte-like value to compare.
136
+ * @returns A boolean indicating whether the two byte-like values are equal.
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * bytesEq([1], Uint8Array.from([1])) // true
141
+ * ```
142
+ */
143
+ function bytesEq(a, b) {
144
+ if (a === b) {
145
+ return true;
146
+ }
147
+ const x = bytesFrom(a);
148
+ const y = bytesFrom(b);
149
+ if (x.length !== y.length) {
150
+ return false;
151
+ }
152
+ for (let i = 0; i < x.length; i++) {
153
+ if (x[i] !== y[i]) {
154
+ return false;
155
+ }
156
+ }
157
+ return true;
158
+ }
@@ -1,4 +1,3 @@
1
- export * as moleculeCodecCkb from "./molecule.advanced/index.js";
2
1
  export * from "./script.advanced.js";
3
2
  export * from "./transaction.advanced.js";
4
3
  //# sourceMappingURL=advanced.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/ckb/advanced.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,8BAA8B,CAAC;AACjE,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../src/ckb/advanced.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"}
@@ -10,23 +10,9 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
10
10
  if (k2 === undefined) k2 = k;
11
11
  o[k2] = m[k];
12
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
- };
25
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
15
  };
28
16
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.moleculeCodecCkb = void 0;
30
- exports.moleculeCodecCkb = __importStar(require("./molecule.advanced/index.js"));
31
17
  __exportStar(require("./script.advanced.js"), exports);
32
18
  __exportStar(require("./transaction.advanced.js"), exports);
@@ -1,7 +1,8 @@
1
1
  import { Bytes, BytesLike } from "../bytes/index.js";
2
2
  import { Client, KnownScript } from "../client/index.js";
3
3
  import { Hex, HexLike } from "../hex/index.js";
4
- import * as mol from "./molecule.advanced/index.js";
4
+ import { mol } from "../molecule/index.js";
5
+ export declare const HashTypeCodec: mol.Codec<HashTypeLike, HashType>;
5
6
  /**
6
7
  * @public
7
8
  */
@@ -62,10 +63,22 @@ export type ScriptLike = {
62
63
  hashType: HashTypeLike;
63
64
  args: BytesLike;
64
65
  };
66
+ declare const Script_base: (abstract new () => {
67
+ toBytes(): Bytes;
68
+ clone(): Script;
69
+ eq(other: ScriptLike): boolean;
70
+ hash(): Hex;
71
+ }) & {
72
+ byteLength?: number;
73
+ encode(_: ScriptLike): Bytes;
74
+ decode(_: BytesLike): Script;
75
+ fromBytes(_bytes: BytesLike): Script;
76
+ from(_: ScriptLike): Script;
77
+ };
65
78
  /**
66
79
  * @public
67
80
  */
68
- export declare class Script {
81
+ export declare class Script extends Script_base {
69
82
  codeHash: Hex;
70
83
  hashType: HashType;
71
84
  args: Hex;
@@ -123,61 +136,7 @@ export declare class Script {
123
136
  * ```
124
137
  */
125
138
  static fromKnownScript(client: Client, knownScript: KnownScript, args: HexLike): Promise<Script>;
126
- /**
127
- * Converts the Script instance to molecule data format.
128
- *
129
- * @returns An object representing the script in molecule data format.
130
- */
131
- _toMolData(): {
132
- codeHash: Uint8Array;
133
- hashType: Uint8Array;
134
- args: Uint8Array;
135
- };
136
- /**
137
- * Converts the Script instance to bytes.
138
- *
139
- * @returns A Uint8Array containing the script bytes.
140
- *
141
- * @example
142
- * ```typescript
143
- * const scriptBytes = script.toBytes();
144
- * ```
145
- */
146
- toBytes(): Bytes;
147
- /**
148
- * Get hash of a script
149
- *
150
- * @returns Hash of this script
151
- *
152
- * @example
153
- * ```typescript
154
- * const hash = script.hash();
155
- * ```
156
- */
157
- hash(): Hex;
158
- /**
159
- * Creates a Script instance from a byte-like value or molecule Script.
160
- *
161
- * @param bytes - The byte-like value or molecule Script to convert.
162
- * @returns A Script instance.
163
- *
164
- * @example
165
- * ```typescript
166
- * const script = Script.fromBytes(new Uint8Array([/* script bytes *\/]));
167
- * ```
168
- */
169
- static fromBytes(bytes: BytesLike | mol.Script): Script;
170
- /**
171
- * Compares the current Script instance with another ScriptLike object for equality.
172
- *
173
- * @param val - The ScriptLike object to compare with.
174
- * @returns True if the scripts are equal, otherwise false.
175
- *
176
- * @example
177
- * ```typescript
178
- * const isEqual = script.eq(anotherScript);
179
- * ```
180
- */
181
- eq(val: ScriptLike): boolean;
182
139
  }
140
+ export declare const ScriptOpt: mol.Codec<ScriptLike | null | undefined, Script | undefined>;
141
+ export {};
183
142
  //# sourceMappingURL=script.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/ckb/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AAOpD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACpD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,CAmBxD;AAED;;;;;;;;;;;GAWG;AAEH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,KAAK,CAE7D;AAED;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAE5D;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AACF;;GAEG;AACH,qBAAa,MAAM;IASR,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,GAAG;IAVlB;;;;;;OAMG;gBAEM,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,GAAG;IAGlB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;;;;OASG;IACH,KAAK,IAAI,MAAM;IAIf;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAYvC;;;;;;;;;;;;;;;;OAgBG;WAEU,eAAe,CAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;OAIG;IAEH,UAAU;;;;;IAQV;;;;;;;;;OASG;IAEH,OAAO,IAAI,KAAK;IAIhB;;;;;;;;;OASG;IACH,IAAI,IAAI,GAAG;IAIX;;;;;;;;;;OAUG;IAEH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM;IAWvD;;;;;;;;;;OAUG;IAEH,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;CAQ7B"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/ckb/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAO3C,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAI1D,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACpD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,CAmBxD;AAED;;;;;;;;;;;GAWG;AAEH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,KAAK,CAE7D;AAED;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAE5D;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;;;;;;;;;;;;;AACF;;GAEG;AACH,qBAOa,MAAO,SAAQ,WAAqC;IAStD,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,QAAQ;IAClB,IAAI,EAAE,GAAG;IAVlB;;;;;;OAMG;gBAEM,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,GAAG;IAKlB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;;;;OASG;IACH,KAAK,IAAI,MAAM;IAIf;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAYvC;;;;;;;;;;;;;;;;OAgBG;WAEU,eAAe,CAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,MAAM,CAAC;CAUnB;AAED,eAAO,MAAM,SAAS,8DAAqB,CAAC"}