@ckb-ccc/core 0.0.9-alpha.1 → 0.0.10-alpha.4

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 (190) hide show
  1. package/dist/ckb/transaction.d.ts +19 -15
  2. package/dist/ckb/transaction.d.ts.map +1 -1
  3. package/dist/ckb/transaction.js +44 -10
  4. package/dist/client/client.d.ts +1 -1
  5. package/dist/client/client.d.ts.map +1 -1
  6. package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  7. package/dist/client/clientPublicMainnet.advanced.js +30 -2
  8. package/dist/client/clientPublicMainnet.d.ts.map +1 -1
  9. package/dist/client/clientPublicMainnet.js +1 -1
  10. package/dist/client/clientPublicTestnet.advanced.js +3 -3
  11. package/dist/client/clientPublicTestnet.d.ts.map +1 -1
  12. package/dist/client/clientPublicTestnet.js +1 -1
  13. package/dist/client/clientTypes.advanced.d.ts +8 -8
  14. package/dist/client/clientTypes.advanced.d.ts.map +1 -1
  15. package/dist/client/clientTypes.d.ts +2 -2
  16. package/dist/client/clientTypes.d.ts.map +1 -1
  17. package/dist/client/clientTypes.js +2 -2
  18. package/dist/signer/ckb/index.d.ts +3 -0
  19. package/dist/signer/ckb/index.d.ts.map +1 -1
  20. package/dist/signer/ckb/index.js +3 -0
  21. package/dist/signer/ckb/signerCkbPrivateKey.d.ts +12 -0
  22. package/dist/signer/ckb/signerCkbPrivateKey.d.ts.map +1 -0
  23. package/dist/signer/ckb/signerCkbPrivateKey.js +38 -0
  24. package/dist/signer/ckb/signerCkbPublicKey.d.ts +18 -0
  25. package/dist/signer/ckb/signerCkbPublicKey.d.ts.map +1 -0
  26. package/dist/signer/ckb/signerCkbPublicKey.js +44 -0
  27. package/dist/signer/ckb/verifyCkbSecp256k1.d.ts +5 -0
  28. package/dist/signer/ckb/verifyCkbSecp256k1.d.ts.map +1 -0
  29. package/dist/signer/ckb/verifyCkbSecp256k1.js +14 -0
  30. package/dist/signer/evm/signerEvm.d.ts +2 -1
  31. package/dist/signer/evm/signerEvm.d.ts.map +1 -1
  32. package/dist/signer/evm/signerEvmAddressReadonly.d.ts +2 -2
  33. package/dist/signer/evm/signerEvmAddressReadonly.d.ts.map +1 -1
  34. package/dist/signer/signer/index.d.ts +8 -6
  35. package/dist/signer/signer/index.d.ts.map +1 -1
  36. package/dist/signer/signer/index.js +9 -5
  37. package/dist/utils/index.d.ts +18 -9
  38. package/dist/utils/index.d.ts.map +1 -1
  39. package/dist/utils/index.js +2 -2
  40. package/dist.commonjs/address/address.advanced.d.ts +29 -24
  41. package/dist.commonjs/address/address.advanced.js +115 -89
  42. package/dist.commonjs/address/advanced.d.ts +1 -1
  43. package/dist.commonjs/address/advanced.js +30 -14
  44. package/dist.commonjs/address/index.d.ts +51 -44
  45. package/dist.commonjs/address/index.js +84 -65
  46. package/dist.commonjs/advanced.d.ts +1 -1
  47. package/dist.commonjs/advanced.js +47 -22
  48. package/dist.commonjs/advancedBarrel.d.ts +1 -1
  49. package/dist.commonjs/advancedBarrel.js +30 -14
  50. package/dist.commonjs/barrel.d.ts +1 -1
  51. package/dist.commonjs/barrel.js +30 -14
  52. package/dist.commonjs/bytes/advanced.d.ts +11 -2
  53. package/dist.commonjs/bytes/index.d.ts +9 -3
  54. package/dist.commonjs/bytes/index.js +28 -26
  55. package/dist.commonjs/ckb/advanced.d.ts +1 -1
  56. package/dist.commonjs/ckb/advanced.js +47 -22
  57. package/dist.commonjs/ckb/index.d.ts +1 -1
  58. package/dist.commonjs/ckb/index.js +30 -14
  59. package/dist.commonjs/ckb/molecule.advanced/generated.d.ts +420 -260
  60. package/dist.commonjs/ckb/molecule.advanced/generated.js +1536 -1332
  61. package/dist.commonjs/ckb/molecule.advanced/index.d.ts +3 -3
  62. package/dist.commonjs/ckb/molecule.advanced/index.js +34 -18
  63. package/dist.commonjs/ckb/script.advanced.d.ts +1 -1
  64. package/dist.commonjs/ckb/script.advanced.js +12 -9
  65. package/dist.commonjs/ckb/script.d.ts +121 -117
  66. package/dist.commonjs/ckb/script.js +220 -176
  67. package/dist.commonjs/ckb/transaction.advanced.d.ts +1 -1
  68. package/dist.commonjs/ckb/transaction.advanced.js +4 -4
  69. package/dist.commonjs/ckb/transaction.d.ts +806 -718
  70. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  71. package/dist.commonjs/ckb/transaction.js +1425 -1158
  72. package/dist.commonjs/client/advanced.d.ts +1 -1
  73. package/dist.commonjs/client/advanced.js +30 -14
  74. package/dist.commonjs/client/client.advanced.d.ts +23 -6
  75. package/dist.commonjs/client/client.advanced.js +89 -61
  76. package/dist.commonjs/client/client.d.ts +114 -54
  77. package/dist.commonjs/client/client.d.ts.map +1 -1
  78. package/dist.commonjs/client/client.js +215 -182
  79. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts +8 -4
  80. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  81. package/dist.commonjs/client/clientPublicMainnet.advanced.js +215 -161
  82. package/dist.commonjs/client/clientPublicMainnet.d.ts +8 -6
  83. package/dist.commonjs/client/clientPublicMainnet.d.ts.map +1 -1
  84. package/dist.commonjs/client/clientPublicMainnet.js +17 -15
  85. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts +6 -3
  86. package/dist.commonjs/client/clientPublicTestnet.advanced.js +227 -199
  87. package/dist.commonjs/client/clientPublicTestnet.d.ts +8 -6
  88. package/dist.commonjs/client/clientPublicTestnet.d.ts.map +1 -1
  89. package/dist.commonjs/client/clientPublicTestnet.js +13 -13
  90. package/dist.commonjs/client/clientTypes.advanced.d.ts +14 -14
  91. package/dist.commonjs/client/clientTypes.advanced.d.ts.map +1 -1
  92. package/dist.commonjs/client/clientTypes.advanced.js +1 -1
  93. package/dist.commonjs/client/clientTypes.d.ts +52 -27
  94. package/dist.commonjs/client/clientTypes.d.ts.map +1 -1
  95. package/dist.commonjs/client/clientTypes.js +56 -22
  96. package/dist.commonjs/client/index.d.ts +1 -1
  97. package/dist.commonjs/client/index.js +30 -14
  98. package/dist.commonjs/client/jsonRpc/advanced.d.ts +1 -1
  99. package/dist.commonjs/client/jsonRpc/advanced.js +30 -14
  100. package/dist.commonjs/client/jsonRpc/index.d.ts +94 -75
  101. package/dist.commonjs/client/jsonRpc/index.js +135 -108
  102. package/dist.commonjs/client/jsonRpc/transformers.d.ts +76 -36
  103. package/dist.commonjs/client/jsonRpc/transformers.js +174 -152
  104. package/dist.commonjs/client/jsonRpc/types.d.ts +38 -38
  105. package/dist.commonjs/fixedPoint/index.d.ts +9 -3
  106. package/dist.commonjs/fixedPoint/index.js +26 -20
  107. package/dist.commonjs/fixedPoint/index.test.d.ts +1 -1
  108. package/dist.commonjs/fixedPoint/index.test.js +42 -36
  109. package/dist.commonjs/hasher/advanced.d.ts +1 -1
  110. package/dist.commonjs/hasher/index.d.ts +40 -37
  111. package/dist.commonjs/hasher/index.js +58 -48
  112. package/dist.commonjs/hex/index.d.ts +1 -1
  113. package/dist.commonjs/hex/index.js +1 -1
  114. package/dist.commonjs/index.d.ts +1 -1
  115. package/dist.commonjs/index.js +47 -22
  116. package/dist.commonjs/num/index.d.ts +1 -1
  117. package/dist.commonjs/num/index.js +39 -27
  118. package/dist.commonjs/signer/btc/index.d.ts +1 -1
  119. package/dist.commonjs/signer/btc/index.js +30 -14
  120. package/dist.commonjs/signer/btc/signerBtc.d.ts +47 -47
  121. package/dist.commonjs/signer/btc/signerBtc.js +89 -66
  122. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.d.ts +45 -45
  123. package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.js +52 -52
  124. package/dist.commonjs/signer/btc/verify.d.ts +6 -2
  125. package/dist.commonjs/signer/btc/verify.js +10 -3
  126. package/dist.commonjs/signer/ckb/index.d.ts +4 -1
  127. package/dist.commonjs/signer/ckb/index.d.ts.map +1 -1
  128. package/dist.commonjs/signer/ckb/index.js +33 -14
  129. package/dist.commonjs/signer/ckb/signerCkbPrivateKey.d.ts +12 -0
  130. package/dist.commonjs/signer/ckb/signerCkbPrivateKey.d.ts.map +1 -0
  131. package/dist.commonjs/signer/ckb/signerCkbPrivateKey.js +56 -0
  132. package/dist.commonjs/signer/ckb/signerCkbPublicKey.d.ts +18 -0
  133. package/dist.commonjs/signer/ckb/signerCkbPublicKey.d.ts.map +1 -0
  134. package/dist.commonjs/signer/ckb/signerCkbPublicKey.js +58 -0
  135. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.d.ts +45 -45
  136. package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.js +56 -56
  137. package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.d.ts +11 -0
  138. package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.d.ts.map +1 -0
  139. package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.js +27 -0
  140. package/dist.commonjs/signer/ckb/verifyJoyId.d.ts +6 -2
  141. package/dist.commonjs/signer/ckb/verifyJoyId.js +11 -8
  142. package/dist.commonjs/signer/dummy/alwaysError.d.ts +4 -4
  143. package/dist.commonjs/signer/dummy/alwaysError.js +7 -7
  144. package/dist.commonjs/signer/dummy/dummy.d.ts +7 -7
  145. package/dist.commonjs/signer/dummy/dummy.js +16 -16
  146. package/dist.commonjs/signer/dummy/index.d.ts +1 -1
  147. package/dist.commonjs/signer/dummy/index.js +30 -14
  148. package/dist.commonjs/signer/dummy/openLink.d.ts +4 -4
  149. package/dist.commonjs/signer/dummy/openLink.js +7 -7
  150. package/dist.commonjs/signer/evm/index.d.ts +1 -1
  151. package/dist.commonjs/signer/evm/index.js +30 -14
  152. package/dist.commonjs/signer/evm/signerEvm.d.ts +43 -38
  153. package/dist.commonjs/signer/evm/signerEvm.d.ts.map +1 -1
  154. package/dist.commonjs/signer/evm/signerEvm.js +105 -70
  155. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts +38 -38
  156. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.d.ts.map +1 -1
  157. package/dist.commonjs/signer/evm/signerEvmAddressReadonly.js +42 -42
  158. package/dist.commonjs/signer/evm/verify.d.ts +6 -2
  159. package/dist.commonjs/signer/evm/verify.js +7 -2
  160. package/dist.commonjs/signer/index.d.ts +1 -1
  161. package/dist.commonjs/signer/index.js +30 -14
  162. package/dist.commonjs/signer/nostr/index.d.ts +1 -1
  163. package/dist.commonjs/signer/nostr/index.js +30 -14
  164. package/dist.commonjs/signer/nostr/signerNostr.d.ts +57 -57
  165. package/dist.commonjs/signer/nostr/signerNostr.js +100 -71
  166. package/dist.commonjs/signer/nostr/verify.d.ts +9 -3
  167. package/dist.commonjs/signer/nostr/verify.js +50 -39
  168. package/dist.commonjs/signer/signer/index.d.ts +171 -160
  169. package/dist.commonjs/signer/signer/index.d.ts.map +1 -1
  170. package/dist.commonjs/signer/signer/index.js +235 -195
  171. package/dist.commonjs/utils/index.d.ts +56 -14
  172. package/dist.commonjs/utils/index.d.ts.map +1 -1
  173. package/dist.commonjs/utils/index.js +19 -13
  174. package/package.json +2 -2
  175. package/src/ckb/transaction.ts +87 -33
  176. package/src/client/client.ts +1 -1
  177. package/src/client/clientPublicMainnet.advanced.ts +34 -2
  178. package/src/client/clientPublicMainnet.ts +1 -1
  179. package/src/client/clientPublicTestnet.advanced.ts +3 -3
  180. package/src/client/clientPublicTestnet.ts +1 -1
  181. package/src/client/clientTypes.advanced.ts +8 -8
  182. package/src/client/clientTypes.ts +4 -4
  183. package/src/signer/ckb/index.ts +3 -0
  184. package/src/signer/ckb/signerCkbPrivateKey.ts +58 -0
  185. package/src/signer/ckb/signerCkbPublicKey.ts +63 -0
  186. package/src/signer/ckb/verifyCkbSecp256k1.ts +27 -0
  187. package/src/signer/evm/signerEvm.ts +2 -2
  188. package/src/signer/evm/signerEvmAddressReadonly.ts +1 -1
  189. package/src/signer/signer/index.ts +17 -9
  190. package/src/utils/index.ts +24 -12
@@ -1,29 +1,54 @@
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) {
2
+ var __createBinding =
3
+ (this && this.__createBinding) ||
4
+ (Object.create
5
+ ? function (o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (
9
+ !desc ||
10
+ ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)
11
+ ) {
12
+ desc = {
13
+ enumerable: true,
14
+ get: function () {
15
+ return m[k];
16
+ },
17
+ };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }
21
+ : function (o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ });
25
+ var __setModuleDefault =
26
+ (this && this.__setModuleDefault) ||
27
+ (Object.create
28
+ ? function (o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }
31
+ : function (o, v) {
32
+ o["default"] = v;
33
+ });
34
+ var __importStar =
35
+ (this && this.__importStar) ||
36
+ function (mod) {
19
37
  if (mod && mod.__esModule) return mod;
20
38
  var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
39
+ if (mod != null)
40
+ for (var k in mod)
41
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
42
+ __createBinding(result, mod, k);
22
43
  __setModuleDefault(result, mod);
23
44
  return result;
24
- };
45
+ };
25
46
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Script = exports.hashTypeFromBytes = exports.hashTypeToBytes = exports.hashTypeFrom = void 0;
47
+ exports.Script =
48
+ exports.hashTypeFromBytes =
49
+ exports.hashTypeToBytes =
50
+ exports.hashTypeFrom =
51
+ void 0;
27
52
  const bytes_1 = require("../bytes");
28
53
  const hasher_1 = require("../hasher");
29
54
  const hex_1 = require("../hex");
@@ -44,22 +69,22 @@ const script_advanced_1 = require("./script.advanced");
44
69
  * ```
45
70
  */
46
71
  function hashTypeFrom(val) {
47
- const hashType = (() => {
48
- if (typeof val === "number") {
49
- return script_advanced_1.NUM_TO_HASH_TYPE[val];
50
- }
51
- if (typeof val === "bigint") {
52
- return script_advanced_1.NUM_TO_HASH_TYPE[Number(val)];
53
- }
54
- if (!script_advanced_1.HASH_TYPES.includes(val)) {
55
- return;
56
- }
57
- return val;
58
- })();
59
- if (hashType === undefined) {
60
- throw new Error(`Invalid hash type ${val}`);
72
+ const hashType = (() => {
73
+ if (typeof val === "number") {
74
+ return script_advanced_1.NUM_TO_HASH_TYPE[val];
61
75
  }
62
- return hashType;
76
+ if (typeof val === "bigint") {
77
+ return script_advanced_1.NUM_TO_HASH_TYPE[Number(val)];
78
+ }
79
+ if (!script_advanced_1.HASH_TYPES.includes(val)) {
80
+ return;
81
+ }
82
+ return val;
83
+ })();
84
+ if (hashType === undefined) {
85
+ throw new Error(`Invalid hash type ${val}`);
86
+ }
87
+ return hashType;
63
88
  }
64
89
  exports.hashTypeFrom = hashTypeFrom;
65
90
  /**
@@ -74,7 +99,9 @@ exports.hashTypeFrom = hashTypeFrom;
74
99
  * ```
75
100
  */
76
101
  function hashTypeToBytes(hashType) {
77
- return (0, bytes_1.bytesFrom)([script_advanced_1.HASH_TYPE_TO_NUM[hashTypeFrom(hashType)]]);
102
+ return (0, bytes_1.bytesFrom)([
103
+ script_advanced_1.HASH_TYPE_TO_NUM[hashTypeFrom(hashType)],
104
+ ]);
78
105
  }
79
106
  exports.hashTypeToBytes = hashTypeToBytes;
80
107
  /**
@@ -91,149 +118,166 @@ exports.hashTypeToBytes = hashTypeToBytes;
91
118
  * ```
92
119
  */
93
120
  function hashTypeFromBytes(bytes) {
94
- return script_advanced_1.NUM_TO_HASH_TYPE[(0, bytes_1.bytesFrom)(bytes)[0]];
121
+ return script_advanced_1.NUM_TO_HASH_TYPE[(0, bytes_1.bytesFrom)(bytes)[0]];
95
122
  }
96
123
  exports.hashTypeFromBytes = hashTypeFromBytes;
97
124
  class Script {
98
- /**
99
- * Creates an instance of Script.
100
- *
101
- * @param codeHash - The code hash of the script.
102
- * @param hashType - The hash type of the script.
103
- * @param args - The arguments for the script.
104
- */
105
- constructor(codeHash, hashType, args) {
106
- this.codeHash = codeHash;
107
- this.hashType = hashType;
108
- this.args = args;
109
- }
110
- get occupiedSize() {
111
- return 33 + (0, bytes_1.bytesFrom)(this.args).length;
112
- }
113
- /**
114
- * Clone a script.
115
- *
116
- * @returns A cloned Script instance.
117
- *
118
- * @example
119
- * ```typescript
120
- * const script1 = script0.clone();
121
- * ```
122
- */
123
- clone() {
124
- return new Script(this.codeHash, this.hashType, this.args);
125
- }
126
- /**
127
- * Creates a Script instance from a ScriptLike object.
128
- *
129
- * @param script - A ScriptLike object or an instance of Script.
130
- * @returns A Script instance.
131
- *
132
- * @example
133
- * ```typescript
134
- * const script = Script.from({
135
- * codeHash: "0x1234...",
136
- * hashType: "type",
137
- * args: "0xabcd..."
138
- * });
139
- * ```
140
- */
141
- static from(script) {
142
- if (script instanceof Script) {
143
- return script;
144
- }
145
- return new Script((0, hex_1.hexFrom)(script.codeHash), hashTypeFrom(script.hashType), (0, hex_1.hexFrom)(script.args));
146
- }
147
- /**
148
- * Creates a Script instance from client and known script.
149
- *
150
- * @param knownScript - A KnownScript enum.
151
- * @param args - Args for the script.
152
- * @param client - A ScriptLike object or an instance of Script.
153
- * @returns A promise that resolves to the script instance.
154
- *
155
- * @example
156
- * ```typescript
157
- * const script = await Script.fromKnownScript(
158
- * client,
159
- * KnownScript.XUdt,
160
- * args: "0xabcd..."
161
- * );
162
- * ```
163
- */
164
- static async fromKnownScript(client, knownScript, args) {
165
- const script = await client.getKnownScript(knownScript);
166
- return new Script(script.codeHash, script.hashType, (0, hex_1.hexFrom)(args));
167
- }
168
- /**
169
- * Converts the Script instance to molecule data format.
170
- *
171
- * @returns An object representing the script in molecule data format.
172
- */
173
- _toMolData() {
174
- return {
175
- codeHash: (0, bytes_1.bytesFrom)(this.codeHash),
176
- hashType: hashTypeToBytes(this.hashType),
177
- args: (0, bytes_1.bytesFrom)(this.args),
178
- };
179
- }
180
- /**
181
- * Converts the Script instance to bytes.
182
- *
183
- * @returns A Uint8Array containing the script bytes.
184
- *
185
- * @example
186
- * ```typescript
187
- * const scriptBytes = script.toBytes();
188
- * ```
189
- */
190
- toBytes() {
191
- return (0, bytes_1.bytesFrom)(mol.SerializeScript(this._toMolData()));
192
- }
193
- /**
194
- * Get hash of a script
195
- *
196
- * @returns Hash of this script
197
- *
198
- * @example
199
- * ```typescript
200
- * const hash = script.hash();
201
- * ```
202
- */
203
- hash() {
204
- return (0, hasher_1.hashCkb)(this.toBytes());
205
- }
206
- /**
207
- * Creates a Script instance from a byte-like value or molecule Script.
208
- *
209
- * @param bytes - The byte-like value or molecule Script to convert.
210
- * @returns A Script instance.
211
- *
212
- * @example
213
- * ```typescript
214
- * const script = Script.fromBytes(new Uint8Array([/* script bytes *\/]));
215
- * ```
216
- */
217
- static fromBytes(bytes) {
218
- const view = bytes instanceof mol.Script ? bytes : new mol.Script((0, bytes_1.bytesFrom)(bytes));
219
- return new Script((0, hex_1.hexFrom)(view.getCodeHash().raw()), hashTypeFromBytes([view.getHashType()]), (0, hex_1.hexFrom)(view.getArgs().raw()));
220
- }
221
- /**
222
- * Compares the current Script instance with another ScriptLike object for equality.
223
- *
224
- * @param val - The ScriptLike object to compare with.
225
- * @returns True if the scripts are equal, otherwise false.
226
- *
227
- * @example
228
- * ```typescript
229
- * const isEqual = script.eq(anotherScript);
230
- * ```
231
- */
232
- eq(val) {
233
- const script = Script.from(val);
234
- return (this.codeHash === script.codeHash &&
235
- this.args === script.args &&
236
- this.hashType === script.hashType);
125
+ /**
126
+ * Creates an instance of Script.
127
+ *
128
+ * @param codeHash - The code hash of the script.
129
+ * @param hashType - The hash type of the script.
130
+ * @param args - The arguments for the script.
131
+ */
132
+ constructor(codeHash, hashType, args) {
133
+ this.codeHash = codeHash;
134
+ this.hashType = hashType;
135
+ this.args = args;
136
+ }
137
+ get occupiedSize() {
138
+ return 33 + (0, bytes_1.bytesFrom)(this.args).length;
139
+ }
140
+ /**
141
+ * Clone a script.
142
+ *
143
+ * @returns A cloned Script instance.
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * const script1 = script0.clone();
148
+ * ```
149
+ */
150
+ clone() {
151
+ return new Script(this.codeHash, this.hashType, this.args);
152
+ }
153
+ /**
154
+ * Creates a Script instance from a ScriptLike object.
155
+ *
156
+ * @param script - A ScriptLike object or an instance of Script.
157
+ * @returns A Script instance.
158
+ *
159
+ * @example
160
+ * ```typescript
161
+ * const script = Script.from({
162
+ * codeHash: "0x1234...",
163
+ * hashType: "type",
164
+ * args: "0xabcd..."
165
+ * });
166
+ * ```
167
+ */
168
+ static from(script) {
169
+ if (script instanceof Script) {
170
+ return script;
237
171
  }
172
+ return new Script(
173
+ (0, hex_1.hexFrom)(script.codeHash),
174
+ hashTypeFrom(script.hashType),
175
+ (0, hex_1.hexFrom)(script.args),
176
+ );
177
+ }
178
+ /**
179
+ * Creates a Script instance from client and known script.
180
+ *
181
+ * @param knownScript - A KnownScript enum.
182
+ * @param args - Args for the script.
183
+ * @param client - A ScriptLike object or an instance of Script.
184
+ * @returns A promise that resolves to the script instance.
185
+ *
186
+ * @example
187
+ * ```typescript
188
+ * const script = await Script.fromKnownScript(
189
+ * client,
190
+ * KnownScript.XUdt,
191
+ * args: "0xabcd..."
192
+ * );
193
+ * ```
194
+ */
195
+ static async fromKnownScript(client, knownScript, args) {
196
+ const script = await client.getKnownScript(knownScript);
197
+ return new Script(
198
+ script.codeHash,
199
+ script.hashType,
200
+ (0, hex_1.hexFrom)(args),
201
+ );
202
+ }
203
+ /**
204
+ * Converts the Script instance to molecule data format.
205
+ *
206
+ * @returns An object representing the script in molecule data format.
207
+ */
208
+ _toMolData() {
209
+ return {
210
+ codeHash: (0, bytes_1.bytesFrom)(this.codeHash),
211
+ hashType: hashTypeToBytes(this.hashType),
212
+ args: (0, bytes_1.bytesFrom)(this.args),
213
+ };
214
+ }
215
+ /**
216
+ * Converts the Script instance to bytes.
217
+ *
218
+ * @returns A Uint8Array containing the script bytes.
219
+ *
220
+ * @example
221
+ * ```typescript
222
+ * const scriptBytes = script.toBytes();
223
+ * ```
224
+ */
225
+ toBytes() {
226
+ return (0, bytes_1.bytesFrom)(mol.SerializeScript(this._toMolData()));
227
+ }
228
+ /**
229
+ * Get hash of a script
230
+ *
231
+ * @returns Hash of this script
232
+ *
233
+ * @example
234
+ * ```typescript
235
+ * const hash = script.hash();
236
+ * ```
237
+ */
238
+ hash() {
239
+ return (0, hasher_1.hashCkb)(this.toBytes());
240
+ }
241
+ /**
242
+ * Creates a Script instance from a byte-like value or molecule Script.
243
+ *
244
+ * @param bytes - The byte-like value or molecule Script to convert.
245
+ * @returns A Script instance.
246
+ *
247
+ * @example
248
+ * ```typescript
249
+ * const script = Script.fromBytes(new Uint8Array([/* script bytes *\/]));
250
+ * ```
251
+ */
252
+ static fromBytes(bytes) {
253
+ const view =
254
+ bytes instanceof mol.Script
255
+ ? bytes
256
+ : new mol.Script((0, bytes_1.bytesFrom)(bytes));
257
+ return new Script(
258
+ (0, hex_1.hexFrom)(view.getCodeHash().raw()),
259
+ hashTypeFromBytes([view.getHashType()]),
260
+ (0, hex_1.hexFrom)(view.getArgs().raw()),
261
+ );
262
+ }
263
+ /**
264
+ * Compares the current Script instance with another ScriptLike object for equality.
265
+ *
266
+ * @param val - The ScriptLike object to compare with.
267
+ * @returns True if the scripts are equal, otherwise false.
268
+ *
269
+ * @example
270
+ * ```typescript
271
+ * const isEqual = script.eq(anotherScript);
272
+ * ```
273
+ */
274
+ eq(val) {
275
+ const script = Script.from(val);
276
+ return (
277
+ this.codeHash === script.codeHash &&
278
+ this.args === script.args &&
279
+ this.hashType === script.hashType
280
+ );
281
+ }
238
282
  }
239
283
  exports.Script = Script;
@@ -2,4 +2,4 @@ import { type DepType } from "./transaction";
2
2
  export declare const DEP_TYPE_TO_NUM: Record<DepType, number>;
3
3
  export declare const NUM_TO_DEP_TYPE: Record<number, DepType>;
4
4
  export declare const DEP_TYPES: string[];
5
- //# sourceMappingURL=transaction.advanced.d.ts.map
5
+ //# sourceMappingURL=transaction.advanced.d.ts.map
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEP_TYPES = exports.NUM_TO_DEP_TYPE = exports.DEP_TYPE_TO_NUM = void 0;
4
4
  exports.DEP_TYPE_TO_NUM = {
5
- code: 0x00,
6
- depGroup: 0x01,
5
+ code: 0x00,
6
+ depGroup: 0x01,
7
7
  };
8
8
  exports.NUM_TO_DEP_TYPE = {
9
- 0x00: "code",
10
- 0x01: "depGroup",
9
+ 0x00: "code",
10
+ 0x01: "depGroup",
11
11
  };
12
12
  exports.DEP_TYPES = Object.keys(exports.DEP_TYPE_TO_NUM);