@ckb-ccc/core 1.6.0 → 1.8.0

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 (104) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/dist/ckb/script.d.ts +2 -1
  3. package/dist/ckb/script.d.ts.map +1 -1
  4. package/dist/ckb/transaction.d.ts +70 -5
  5. package/dist/ckb/transaction.d.ts.map +1 -1
  6. package/dist/ckb/transaction.js +186 -53
  7. package/dist/client/client.d.ts +3 -1
  8. package/dist/client/client.d.ts.map +1 -1
  9. package/dist/client/client.js +4 -3
  10. package/dist/client/clientPublicMainnet.advanced.d.ts +2 -1
  11. package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  12. package/dist/client/clientPublicMainnet.advanced.js +1 -1
  13. package/dist/client/clientPublicMainnet.d.ts +2 -1
  14. package/dist/client/clientPublicMainnet.d.ts.map +1 -1
  15. package/dist/client/clientPublicTestnet.advanced.d.ts +2 -1
  16. package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  17. package/dist/client/clientPublicTestnet.advanced.js +1 -1
  18. package/dist/client/clientPublicTestnet.d.ts +2 -1
  19. package/dist/client/clientPublicTestnet.d.ts.map +1 -1
  20. package/dist/client/clientTypes.d.ts +0 -25
  21. package/dist/client/clientTypes.d.ts.map +1 -1
  22. package/dist/client/clientTypes.js +0 -27
  23. package/dist/client/index.d.ts +1 -0
  24. package/dist/client/index.d.ts.map +1 -1
  25. package/dist/client/index.js +1 -0
  26. package/dist/client/knownScript.d.ts +26 -0
  27. package/dist/client/knownScript.d.ts.map +1 -0
  28. package/dist/client/knownScript.js +27 -0
  29. package/dist/num/index.d.ts.map +1 -1
  30. package/dist/num/index.js +17 -1
  31. package/dist/signer/ckb/signerCkbPublicKey.d.ts.map +1 -1
  32. package/dist/signer/ckb/signerCkbPublicKey.js +1 -5
  33. package/dist/signer/nostr/index.d.ts +1 -0
  34. package/dist/signer/nostr/index.d.ts.map +1 -1
  35. package/dist/signer/nostr/index.js +1 -0
  36. package/dist/signer/nostr/signerNostr.d.ts +1 -1
  37. package/dist/signer/nostr/signerNostr.d.ts.map +1 -1
  38. package/dist/signer/nostr/signerNostr.js +8 -0
  39. package/dist/signer/nostr/signerNostrPrivateKey.d.ts +5 -7
  40. package/dist/signer/nostr/signerNostrPrivateKey.d.ts.map +1 -1
  41. package/dist/signer/nostr/signerNostrPrivateKey.js +6 -12
  42. package/dist/signer/nostr/signerNostrPublicKeyReadonly.d.ts +11 -0
  43. package/dist/signer/nostr/signerNostrPublicKeyReadonly.d.ts.map +1 -0
  44. package/dist/signer/nostr/signerNostrPublicKeyReadonly.js +22 -0
  45. package/dist.commonjs/ckb/script.d.ts +2 -1
  46. package/dist.commonjs/ckb/script.d.ts.map +1 -1
  47. package/dist.commonjs/ckb/transaction.d.ts +70 -5
  48. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  49. package/dist.commonjs/ckb/transaction.js +282 -147
  50. package/dist.commonjs/client/client.d.ts +3 -1
  51. package/dist.commonjs/client/client.d.ts.map +1 -1
  52. package/dist.commonjs/client/client.js +4 -3
  53. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts +2 -1
  54. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  55. package/dist.commonjs/client/clientPublicMainnet.advanced.js +21 -21
  56. package/dist.commonjs/client/clientPublicMainnet.d.ts +2 -1
  57. package/dist.commonjs/client/clientPublicMainnet.d.ts.map +1 -1
  58. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts +2 -1
  59. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  60. package/dist.commonjs/client/clientPublicTestnet.advanced.js +21 -21
  61. package/dist.commonjs/client/clientPublicTestnet.d.ts +2 -1
  62. package/dist.commonjs/client/clientPublicTestnet.d.ts.map +1 -1
  63. package/dist.commonjs/client/clientTypes.d.ts +0 -25
  64. package/dist.commonjs/client/clientTypes.d.ts.map +1 -1
  65. package/dist.commonjs/client/clientTypes.js +1 -28
  66. package/dist.commonjs/client/index.d.ts +1 -0
  67. package/dist.commonjs/client/index.d.ts.map +1 -1
  68. package/dist.commonjs/client/index.js +1 -0
  69. package/dist.commonjs/client/knownScript.d.ts +26 -0
  70. package/dist.commonjs/client/knownScript.d.ts.map +1 -0
  71. package/dist.commonjs/client/knownScript.js +30 -0
  72. package/dist.commonjs/num/index.d.ts.map +1 -1
  73. package/dist.commonjs/num/index.js +17 -1
  74. package/dist.commonjs/signer/ckb/signerCkbPublicKey.d.ts.map +1 -1
  75. package/dist.commonjs/signer/ckb/signerCkbPublicKey.js +1 -5
  76. package/dist.commonjs/signer/nostr/index.d.ts +1 -0
  77. package/dist.commonjs/signer/nostr/index.d.ts.map +1 -1
  78. package/dist.commonjs/signer/nostr/index.js +1 -0
  79. package/dist.commonjs/signer/nostr/signerNostr.d.ts +1 -1
  80. package/dist.commonjs/signer/nostr/signerNostr.d.ts.map +1 -1
  81. package/dist.commonjs/signer/nostr/signerNostr.js +8 -0
  82. package/dist.commonjs/signer/nostr/signerNostrPrivateKey.d.ts +5 -7
  83. package/dist.commonjs/signer/nostr/signerNostrPrivateKey.d.ts.map +1 -1
  84. package/dist.commonjs/signer/nostr/signerNostrPrivateKey.js +6 -12
  85. package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.d.ts +11 -0
  86. package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.d.ts.map +1 -0
  87. package/dist.commonjs/signer/nostr/signerNostrPublicKeyReadonly.js +26 -0
  88. package/package.json +2 -2
  89. package/src/ckb/script.ts +2 -1
  90. package/src/ckb/transaction.ts +270 -62
  91. package/src/client/client.ts +5 -4
  92. package/src/client/clientPublicMainnet.advanced.ts +2 -1
  93. package/src/client/clientPublicMainnet.ts +2 -1
  94. package/src/client/clientPublicTestnet.advanced.ts +2 -1
  95. package/src/client/clientPublicTestnet.ts +2 -1
  96. package/src/client/clientTypes.ts +0 -28
  97. package/src/client/index.ts +1 -0
  98. package/src/client/knownScript.ts +27 -0
  99. package/src/num/index.ts +21 -1
  100. package/src/signer/ckb/signerCkbPublicKey.ts +3 -5
  101. package/src/signer/nostr/index.ts +1 -0
  102. package/src/signer/nostr/signerNostr.ts +3 -1
  103. package/src/signer/nostr/signerNostrPrivateKey.ts +7 -14
  104. package/src/signer/nostr/signerNostrPublicKeyReadonly.ts +29 -0
package/CHANGELOG.md CHANGED
@@ -1,23 +1,41 @@
1
1
  # @ckb-ccc/core
2
2
 
3
- ## 1.6.0
3
+ ## 1.8.0
4
4
 
5
5
  ### Minor Changes
6
6
 
7
7
  - [#159](https://github.com/ckb-devrel/ccc/pull/159) [`80e605d`](https://github.com/ckb-devrel/ccc/commit/80e605d0645e87b4e8b5be85c63322f7a3926e38) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): stringify util
8
8
 
9
+ - [#171](https://github.com/ckb-devrel/ccc/pull/171) [`8c7e000`](https://github.com/ckb-devrel/ccc/commit/8c7e00069a276ac58afa4737623e95656d4852c5) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): Dao related utils
10
+
11
+ - [#179](https://github.com/ckb-devrel/ccc/pull/179) [`732ad59`](https://github.com/ckb-devrel/ccc/commit/732ad59f13ea2cd47003033e30b310b8ff26f058) Thanks [@Hanssen0](https://github.com/Hanssen0)! - fix: add inputs after cobuild witness injected
12
+
13
+ - [#173](https://github.com/ckb-devrel/ccc/pull/173) [`815fb4d`](https://github.com/ckb-devrel/ccc/commit/815fb4da3432b889b848eb70943d725988fe611d) Thanks [@ashuralyk](https://github.com/ashuralyk)! - Add treatment to uncompatible XUDT data format
14
+
9
15
  - [#158](https://github.com/ckb-devrel/ccc/pull/158) [`d584059`](https://github.com/ckb-devrel/ccc/commit/d584059644e8bcd3a0ea8b0314fdcbb68ee66013) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): more rpc calls cache
10
16
 
17
+ - [#171](https://github.com/ckb-devrel/ccc/pull/171) [`f58d398`](https://github.com/ckb-devrel/ccc/commit/f58d3980f08da1f3fa19cee45aa50c8b293294ea) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): Transaction.getFee
18
+
11
19
  - [#153](https://github.com/ckb-devrel/ccc/pull/153) [`1e88ad8`](https://github.com/ckb-devrel/ccc/commit/1e88ad8743428b46b28fe790bd559b96df8a6ce4) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): fee rate checks
12
20
 
13
21
  - [#158](https://github.com/ckb-devrel/ccc/pull/158) [`6f10589`](https://github.com/ckb-devrel/ccc/commit/6f1058977e7aa113808fa74793f1ad5d672626d2) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): Transaction utils
14
22
 
23
+ - [#182](https://github.com/ckb-devrel/ccc/pull/182) [`601a729`](https://github.com/ckb-devrel/ccc/commit/601a7291e877b39c4032c95fab421ed3d41404c2) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): SignerNostrPublicKeyReadonly
24
+
25
+ - [#171](https://github.com/ckb-devrel/ccc/pull/171) [`074b4cd`](https://github.com/ckb-devrel/ccc/commit/074b4cd3b0cdc925dc9ef99e8146564a60646f1e) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): calculate Nervos DAO profit as input capacity
26
+
15
27
  ### Patch Changes
16
28
 
29
+ - [#166](https://github.com/ckb-devrel/ccc/pull/166) [`90b6e9f`](https://github.com/ckb-devrel/ccc/commit/90b6e9fee543b6ee16b96e27d6f86ff33fc57029) Thanks [@Hanssen0](https://github.com/Hanssen0)! - chore: bump @joyid/ckb version
30
+
17
31
  - [#153](https://github.com/ckb-devrel/ccc/pull/153) [`def62a0`](https://github.com/ckb-devrel/ccc/commit/def62a08bf908c6a21fe91c8db2c60848a2ada52) Thanks [@Hanssen0](https://github.com/Hanssen0)! - fix(core): uncatched websocket error
18
32
 
19
33
  - [#159](https://github.com/ckb-devrel/ccc/pull/159) [`d7728d9`](https://github.com/ckb-devrel/ccc/commit/d7728d9edb46c9c5a2bfeb342fc68a8b1c0fec5d) Thanks [@Hanssen0](https://github.com/Hanssen0)! - chore(core): remove ankr public node from default
20
34
 
35
+ - [#177](https://github.com/ckb-devrel/ccc/pull/177) [`ab195a0`](https://github.com/ckb-devrel/ccc/commit/ab195a024aeee5e21ed19d89c2cf1bf8d52bb380) Thanks [@Hanssen0](https://github.com/Hanssen0)! - fix(core): negative number for numToByte
36
+
37
+ - [`29a2e22`](https://github.com/ckb-devrel/ccc/commit/29a2e223b902ed23523e4948ab3fca793f9e5b01) Thanks [@Hanssen0](https://github.com/Hanssen0)! - chore: bump @joyid/ckb version
38
+
21
39
  ## 1.5.0
22
40
 
23
41
  ### Minor Changes
@@ -1,5 +1,6 @@
1
1
  import { Bytes, BytesLike } from "../bytes/index.js";
2
- import { Client, KnownScript } from "../client/index.js";
2
+ import type { Client } from "../client/index.js";
3
+ import { KnownScript } from "../client/knownScript.js";
3
4
  import { Hex, HexLike } from "../hex/index.js";
4
5
  import { mol } from "../molecule/index.js";
5
6
  export declare const HashTypeCodec: mol.Codec<HashTypeLike, HashType>;
@@ -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;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;AAC5C,eAAO,MAAM,SAAS,mCAAqB,CAAC"}
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,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,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;AAC5C,eAAO,MAAM,SAAS,mCAAqB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Bytes, BytesLike } from "../bytes/index.js";
2
2
  import type { ClientCollectableSearchKeyFilterLike } from "../client/clientTypes.advanced.js";
3
- import type { CellDepInfoLike, Client, KnownScript } from "../client/index.js";
3
+ import { ClientBlockHeader, type CellDepInfoLike, type Client, type ClientBlockHeaderLike } from "../client/index.js";
4
+ import { KnownScript } from "../client/knownScript.js";
4
5
  import { Hasher } from "../hasher/index.js";
5
6
  import { Hex, HexLike } from "../hex/index.js";
6
7
  import { mol } from "../molecule/index.js";
@@ -193,6 +194,37 @@ export declare class Cell {
193
194
  * @returns A Cell instance.
194
195
  */
195
196
  static from(cell: CellLike): Cell;
197
+ get capacityFree(): bigint;
198
+ /**
199
+ * Occupied bytes of a cell on chain
200
+ * It's CellOutput.occupiedSize + bytesFrom(outputData).byteLength
201
+ */
202
+ get occupiedSize(): number;
203
+ /**
204
+ * Gets confirmed Nervos DAO profit of a Cell
205
+ * It returns non-zero value only when the cell is in withdrawal phase 2
206
+ * See https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0023-dao-deposit-withdraw/0023-dao-deposit-withdraw.md
207
+ *
208
+ * @param client - A client for searching DAO related headers
209
+ * @returns Profit
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * const profit = await cell.getDaoProfit(client);
214
+ * ```
215
+ */
216
+ getDaoProfit(client: Client): Promise<Num>;
217
+ isNervosDao(client: Client, phase?: "deposited" | "withdrew"): Promise<boolean>;
218
+ getNervosDaoInfo(client: Client): Promise<{
219
+ depositHeader?: undefined;
220
+ withdrawHeader?: undefined;
221
+ } | {
222
+ depositHeader: ClientBlockHeader;
223
+ withdrawHeader?: undefined;
224
+ } | {
225
+ depositHeader: ClientBlockHeader;
226
+ withdrawHeader: ClientBlockHeader;
227
+ }>;
196
228
  /**
197
229
  * Clone a Cell
198
230
  *
@@ -363,17 +395,26 @@ export declare class CellInput extends CellInput_base {
363
395
  * ```
364
396
  */
365
397
  static from(cellInput: CellInputLike): CellInput;
398
+ getCell(client: Client): Promise<Cell>;
366
399
  /**
367
- * Complete extra infos in the input. Like the output of the out point.
400
+ * Complete extra infos in the input. Including
401
+ * - Previous cell output
402
+ * - Previous cell data
368
403
  * The instance will be modified.
369
404
  *
370
405
  * @returns true if succeed.
371
406
  * @example
372
407
  * ```typescript
373
- * await cellInput.completeExtraInfos();
408
+ * await cellInput.completeExtraInfos(client);
374
409
  * ```
375
410
  */
376
411
  completeExtraInfos(client: Client): Promise<void>;
412
+ /**
413
+ * The extra capacity created when consume this input.
414
+ * This is usually NervosDAO interest, see https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0023-dao-deposit-withdraw/0023-dao-deposit-withdraw.md.
415
+ * And it can also be miners' income. (But this is not implemented yet)
416
+ */
417
+ getExtraCapacity(client: Client): Promise<Num>;
377
418
  clone(): CellInput;
378
419
  }
379
420
  export declare const CellInputVec: mol.Codec<CellInputLike[], CellInput[]>;
@@ -490,6 +531,8 @@ export declare class WitnessArgs extends WitnessArgs_base {
490
531
  static from(witnessArgs: WitnessArgsLike): WitnessArgs;
491
532
  }
492
533
  /**
534
+ * Convert a bytes to a num.
535
+ *
493
536
  * @public
494
537
  */
495
538
  export declare function udtBalanceFrom(dataLike: BytesLike): Num;
@@ -851,6 +894,18 @@ export declare class Transaction extends Transaction_base {
851
894
  * ```
852
895
  */
853
896
  setWitnessArgsAt(index: number, witness: WitnessArgs): void;
897
+ /**
898
+ * Set witness at index
899
+ *
900
+ * @param index - The index of the witness.
901
+ * @param witness - The witness to set.
902
+ *
903
+ * @example
904
+ * ```typescript
905
+ * await tx.setWitnessAt(0, witness);
906
+ * ```
907
+ */
908
+ setWitnessAt(index: number, witness: HexLike): void;
854
909
  /**
855
910
  * Prepare dummy witness for sighash all method
856
911
  *
@@ -865,6 +920,7 @@ export declare class Transaction extends Transaction_base {
865
920
  * ```
866
921
  */
867
922
  prepareSighashAllWitness(scriptLike: ScriptLike, lockLen: number, client: Client): Promise<void>;
923
+ getInputsCapacityExtra(client: Client): Promise<Num>;
868
924
  getInputsCapacity(client: Client): Promise<Num>;
869
925
  getOutputsCapacity(): Num;
870
926
  getInputsUdtBalance(client: Client, type: ScriptLike): Promise<Num>;
@@ -878,8 +934,8 @@ export declare class Transaction extends Transaction_base {
878
934
  completeInputsByUdt(from: Signer, type: ScriptLike, balanceTweak?: NumLike): Promise<number>;
879
935
  completeInputsAddOne(from: Signer, filter?: ClientCollectableSearchKeyFilterLike): Promise<number>;
880
936
  completeInputsAtLeastOne(from: Signer, filter?: ClientCollectableSearchKeyFilterLike): Promise<number>;
881
- fee(client: Client): Promise<Num>;
882
- feeRate(client: Client): Promise<Num>;
937
+ getFee(client: Client): Promise<Num>;
938
+ getFeeRate(client: Client): Promise<Num>;
883
939
  estimateFee(feeRate: NumLike): Num;
884
940
  completeFee(from: Signer, change: (tx: Transaction, capacity: Num) => Promise<NumLike> | NumLike, expectedFeeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike, options?: {
885
941
  feeRateBlockRange?: NumLike;
@@ -889,5 +945,14 @@ export declare class Transaction extends Transaction_base {
889
945
  completeFeeBy(from: Signer, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
890
946
  completeFeeChangeToOutput(from: Signer, index: NumLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
891
947
  }
948
+ /**
949
+ * Calculate Nervos DAO profit between two blocks
950
+ */
951
+ export declare function calcDaoProfit(profitableCapacity: NumLike, depositHeaderLike: ClientBlockHeaderLike, withdrawHeaderLike: ClientBlockHeaderLike): Num;
952
+ /**
953
+ * Calculate claimable epoch for Nervos DAO withdrawal
954
+ * See https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0023-dao-deposit-withdraw/0023-dao-deposit-withdraw.md
955
+ */
956
+ export declare function calcDaoClaimEpoch(depositHeader: ClientBlockHeaderLike, withdrawHeader: ClientBlockHeaderLike): Epoch;
892
957
  export {};
893
958
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  var OutPoint_1, CellOutput_1, Since_1, CellInput_1, CellDep_1, WitnessArgs_1, Transaction_1;
8
8
  import { bytesFrom } from "../bytes/index.js";
9
+ import { ClientBlockHeader, } from "../client/index.js";
10
+ import { KnownScript } from "../client/knownScript.js";
9
11
  import { Zero, fixedPointFrom, fixedPointToString, } from "../fixedPoint/index.js";
10
12
  import { HasherCkb, hashCkb } from "../hasher/index.js";
11
13
  import { hexFrom } from "../hex/index.js";
@@ -200,6 +202,82 @@ export class Cell {
200
202
  }
201
203
  return new Cell(OutPoint.from("outPoint" in cell ? cell.outPoint : cell.previousOutput), CellOutput.from(cell.cellOutput), hexFrom(cell.outputData));
202
204
  }
205
+ get capacityFree() {
206
+ const occupiedSize = fixedPointFrom(this.cellOutput.occupiedSize + bytesFrom(this.outputData).length);
207
+ return this.cellOutput.capacity - occupiedSize;
208
+ }
209
+ /**
210
+ * Occupied bytes of a cell on chain
211
+ * It's CellOutput.occupiedSize + bytesFrom(outputData).byteLength
212
+ */
213
+ get occupiedSize() {
214
+ return this.cellOutput.occupiedSize + bytesFrom(this.outputData).byteLength;
215
+ }
216
+ /**
217
+ * Gets confirmed Nervos DAO profit of a Cell
218
+ * It returns non-zero value only when the cell is in withdrawal phase 2
219
+ * See https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0023-dao-deposit-withdraw/0023-dao-deposit-withdraw.md
220
+ *
221
+ * @param client - A client for searching DAO related headers
222
+ * @returns Profit
223
+ *
224
+ * @example
225
+ * ```typescript
226
+ * const profit = await cell.getDaoProfit(client);
227
+ * ```
228
+ */
229
+ async getDaoProfit(client) {
230
+ if (!(await this.isNervosDao(client, "withdrew"))) {
231
+ return Zero;
232
+ }
233
+ const { depositHeader, withdrawHeader } = await this.getNervosDaoInfo(client);
234
+ if (!withdrawHeader || !depositHeader) {
235
+ throw new Error(`Unable to get headers of a Nervos DAO cell ${this.outPoint.txHash}:${this.outPoint.index.toString()}`);
236
+ }
237
+ return calcDaoProfit(this.capacityFree, depositHeader, withdrawHeader);
238
+ }
239
+ async isNervosDao(client, phase) {
240
+ const { type } = this.cellOutput;
241
+ const daoType = await client.getKnownScript(KnownScript.NervosDao);
242
+ if (!type ||
243
+ type.codeHash !== daoType.codeHash ||
244
+ type.hashType !== daoType.hashType) {
245
+ // Non Nervos DAO cell
246
+ return false;
247
+ }
248
+ const hasWithdrew = numFrom(this.outputData) !== Zero;
249
+ return (!phase ||
250
+ (phase === "deposited" && !hasWithdrew) ||
251
+ (phase === "withdrew" && hasWithdrew));
252
+ }
253
+ async getNervosDaoInfo(client) {
254
+ if (!(await this.isNervosDao(client))) {
255
+ // Non Nervos DAO cell
256
+ return {};
257
+ }
258
+ if (numFrom(this.outputData) === Zero) {
259
+ // Deposited Nervos DAO cell
260
+ const depositRes = await client.getCellWithHeader(this.outPoint);
261
+ if (!depositRes?.header) {
262
+ throw new Error(`Unable to get header of a Nervos DAO deposited cell ${this.outPoint.txHash}:${this.outPoint.index.toString()}`);
263
+ }
264
+ return {
265
+ depositHeader: depositRes.header,
266
+ };
267
+ }
268
+ // Withdrew Nervos DAO cell
269
+ const [depositHeader, withdrawRes] = await Promise.all([
270
+ client.getHeaderByNumber(numFromBytes(this.outputData)),
271
+ client.getCellWithHeader(this.outPoint),
272
+ ]);
273
+ if (!withdrawRes?.header || !depositHeader) {
274
+ throw new Error(`Unable to get headers of a Nervos DAO withdrew cell ${this.outPoint.txHash}:${this.outPoint.index.toString()}`);
275
+ }
276
+ return {
277
+ depositHeader,
278
+ withdrawHeader: withdrawRes.header,
279
+ };
280
+ }
203
281
  /**
204
282
  * Clone a Cell
205
283
  *
@@ -373,14 +451,27 @@ let CellInput = CellInput_1 = class CellInput extends mol.Entity.Base() {
373
451
  ? cellInput.previousOutput
374
452
  : cellInput.outPoint), Since.from(cellInput.since ?? 0).toNum(), apply(CellOutput.from, cellInput.cellOutput), apply(hexFrom, cellInput.outputData));
375
453
  }
454
+ async getCell(client) {
455
+ await this.completeExtraInfos(client);
456
+ if (!this.cellOutput || !this.outputData) {
457
+ throw new Error("Unable to complete input");
458
+ }
459
+ return Cell.from({
460
+ outPoint: this.previousOutput,
461
+ cellOutput: this.cellOutput,
462
+ outputData: this.outputData,
463
+ });
464
+ }
376
465
  /**
377
- * Complete extra infos in the input. Like the output of the out point.
466
+ * Complete extra infos in the input. Including
467
+ * - Previous cell output
468
+ * - Previous cell data
378
469
  * The instance will be modified.
379
470
  *
380
471
  * @returns true if succeed.
381
472
  * @example
382
473
  * ```typescript
383
- * await cellInput.completeExtraInfos();
474
+ * await cellInput.completeExtraInfos(client);
384
475
  * ```
385
476
  */
386
477
  async completeExtraInfos(client) {
@@ -394,6 +485,14 @@ let CellInput = CellInput_1 = class CellInput extends mol.Entity.Base() {
394
485
  this.cellOutput = cell.cellOutput;
395
486
  this.outputData = cell.outputData;
396
487
  }
488
+ /**
489
+ * The extra capacity created when consume this input.
490
+ * This is usually NervosDAO interest, see https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0023-dao-deposit-withdraw/0023-dao-deposit-withdraw.md.
491
+ * And it can also be miners' income. (But this is not implemented yet)
492
+ */
493
+ async getExtraCapacity(client) {
494
+ return (await this.getCell(client)).getDaoProfit(client);
495
+ }
397
496
  clone() {
398
497
  const cloned = super.clone();
399
498
  cloned.cellOutput = this.cellOutput;
@@ -516,11 +615,13 @@ WitnessArgs = WitnessArgs_1 = __decorate([
516
615
  ], WitnessArgs);
517
616
  export { WitnessArgs };
518
617
  /**
618
+ * Convert a bytes to a num.
619
+ *
519
620
  * @public
520
621
  */
521
622
  export function udtBalanceFrom(dataLike) {
522
623
  const data = bytesFrom(dataLike).slice(0, 16);
523
- return numFromBytes(data);
624
+ return data.length === 0 ? Zero : numFromBytes(data);
524
625
  }
525
626
  export const RawTransaction = mol.table({
526
627
  version: mol.Uint32,
@@ -754,11 +855,8 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
754
855
  for (let i = 0; i < this.witnesses.length; i += 1) {
755
856
  const input = this.inputs[i];
756
857
  if (input) {
757
- await input.completeExtraInfos(client);
758
- if (!input.cellOutput) {
759
- throw new Error("Unable to complete input");
760
- }
761
- if (!script.eq(input.cellOutput.lock)) {
858
+ const { cellOutput } = await input.getCell(client);
859
+ if (!script.eq(cellOutput.lock)) {
762
860
  continue;
763
861
  }
764
862
  if (position === -1) {
@@ -793,13 +891,9 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
793
891
  async findInputIndexByLockId(scriptIdLike, client) {
794
892
  const script = Script.from({ ...scriptIdLike, args: "0x" });
795
893
  for (let i = 0; i < this.inputs.length; i += 1) {
796
- const input = this.inputs[i];
797
- await input.completeExtraInfos(client);
798
- if (!input.cellOutput) {
799
- throw new Error("Unable to complete input");
800
- }
801
- if (script.codeHash === input.cellOutput.lock.codeHash &&
802
- script.hashType === input.cellOutput.lock.hashType) {
894
+ const { cellOutput } = await this.inputs[i].getCell(client);
895
+ if (script.codeHash === cellOutput.lock.codeHash &&
896
+ script.hashType === cellOutput.lock.hashType) {
803
897
  return i;
804
898
  }
805
899
  }
@@ -819,12 +913,8 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
819
913
  async findInputIndexByLock(scriptLike, client) {
820
914
  const script = Script.from(scriptLike);
821
915
  for (let i = 0; i < this.inputs.length; i += 1) {
822
- const input = this.inputs[i];
823
- await input.completeExtraInfos(client);
824
- if (!input.cellOutput) {
825
- throw new Error("Unable to complete input");
826
- }
827
- if (script.eq(input.cellOutput.lock)) {
916
+ const { cellOutput } = await this.inputs[i].getCell(client);
917
+ if (script.eq(cellOutput.lock)) {
828
918
  return i;
829
919
  }
830
920
  }
@@ -844,12 +934,8 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
844
934
  async findLastInputIndexByLock(scriptLike, client) {
845
935
  const script = Script.from(scriptLike);
846
936
  for (let i = this.inputs.length - 1; i >= 0; i -= 1) {
847
- const input = this.inputs[i];
848
- await input.completeExtraInfos(client);
849
- if (!input.cellOutput) {
850
- throw new Error("Unable to complete input");
851
- }
852
- if (script.eq(input.cellOutput.lock)) {
937
+ const { cellOutput } = await this.inputs[i].getCell(client);
938
+ if (script.eq(cellOutput.lock)) {
853
939
  return i;
854
940
  }
855
941
  }
@@ -963,6 +1049,9 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
963
1049
  * ```
964
1050
  */
965
1051
  addInput(inputLike) {
1052
+ if (this.witnesses.length > this.inputs.length) {
1053
+ this.witnesses.splice(this.inputs.length, 0, "0x");
1054
+ }
966
1055
  return this.inputs.push(CellInput.from(inputLike));
967
1056
  }
968
1057
  /**
@@ -1037,10 +1126,24 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1037
1126
  * ```
1038
1127
  */
1039
1128
  setWitnessArgsAt(index, witness) {
1129
+ this.setWitnessAt(index, witness.toBytes());
1130
+ }
1131
+ /**
1132
+ * Set witness at index
1133
+ *
1134
+ * @param index - The index of the witness.
1135
+ * @param witness - The witness to set.
1136
+ *
1137
+ * @example
1138
+ * ```typescript
1139
+ * await tx.setWitnessAt(0, witness);
1140
+ * ```
1141
+ */
1142
+ setWitnessAt(index, witness) {
1040
1143
  if (this.witnesses.length < index) {
1041
1144
  this.witnesses.push(...Array.from(new Array(index - this.witnesses.length), () => "0x"));
1042
1145
  }
1043
- this.witnesses[index] = hexFrom(witness.toBytes());
1146
+ this.witnesses[index] = hexFrom(witness);
1044
1147
  }
1045
1148
  /**
1046
1149
  * Prepare dummy witness for sighash all method
@@ -1064,28 +1167,26 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1064
1167
  witness.lock = hexFrom(Array.from(new Array(lockLen), () => 0));
1065
1168
  this.setWitnessArgsAt(position, witness);
1066
1169
  }
1170
+ async getInputsCapacityExtra(client) {
1171
+ return reduceAsync(this.inputs, async (acc, input) => acc + (await input.getExtraCapacity(client)), numFrom(0));
1172
+ }
1173
+ // This also includes extra amount
1067
1174
  async getInputsCapacity(client) {
1068
- return reduceAsync(this.inputs, async (acc, input) => {
1069
- await input.completeExtraInfos(client);
1070
- if (!input.cellOutput) {
1071
- throw new Error("Unable to complete input");
1072
- }
1073
- return acc + input.cellOutput.capacity;
1074
- }, numFrom(0));
1175
+ return ((await reduceAsync(this.inputs, async (acc, input) => {
1176
+ const { cellOutput: { capacity }, } = await input.getCell(client);
1177
+ return acc + capacity;
1178
+ }, numFrom(0))) + (await this.getInputsCapacityExtra(client)));
1075
1179
  }
1076
1180
  getOutputsCapacity() {
1077
1181
  return this.outputs.reduce((acc, { capacity }) => acc + capacity, numFrom(0));
1078
1182
  }
1079
1183
  async getInputsUdtBalance(client, type) {
1080
1184
  return reduceAsync(this.inputs, async (acc, input) => {
1081
- await input.completeExtraInfos(client);
1082
- if (!input.cellOutput || !input.outputData) {
1083
- throw new Error("Unable to complete input");
1084
- }
1085
- if (!input.cellOutput.type?.eq(type)) {
1185
+ const { cellOutput, outputData } = await input.getCell(client);
1186
+ if (!cellOutput.type?.eq(type)) {
1086
1187
  return;
1087
1188
  }
1088
- return acc + udtBalanceFrom(input.outputData);
1189
+ return acc + udtBalanceFrom(outputData);
1089
1190
  }, numFrom(0));
1090
1191
  }
1091
1192
  getOutputsUdtBalance(type) {
@@ -1168,15 +1269,12 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1168
1269
  throw new Error(`Insufficient coin, need ${exceptedBalance - accumulated} extra coin`);
1169
1270
  }
1170
1271
  async completeInputsAddOne(from, filter) {
1171
- for await (const cell of from.findCells(filter ?? {
1272
+ const { addedCount, accumulated } = await this.completeInputs(from, filter ?? {
1172
1273
  scriptLenRange: [0, 1],
1173
1274
  outputDataLenRange: [0, 1],
1174
- }, true, undefined, 1)) {
1175
- if (this.inputs.some(({ previousOutput }) => previousOutput.eq(cell.outPoint))) {
1176
- continue;
1177
- }
1178
- this.addInput(cell);
1179
- return 1;
1275
+ }, () => undefined, true);
1276
+ if (accumulated === undefined) {
1277
+ return addedCount;
1180
1278
  }
1181
1279
  throw new Error(`Insufficient CKB, need at least one new cell`);
1182
1280
  }
@@ -1186,11 +1284,11 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1186
1284
  }
1187
1285
  return this.completeInputsAddOne(from, filter);
1188
1286
  }
1189
- async fee(client) {
1287
+ async getFee(client) {
1190
1288
  return (await this.getInputsCapacity(client)) - this.getOutputsCapacity();
1191
1289
  }
1192
- async feeRate(client) {
1193
- return (((await this.fee(client)) * numFrom(1000)) /
1290
+ async getFeeRate(client) {
1291
+ return (((await this.getFee(client)) * numFrom(1000)) /
1194
1292
  numFrom(this.toBytes().length + 4));
1195
1293
  }
1196
1294
  estimateFee(feeRate) {
@@ -1223,7 +1321,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1223
1321
  // The initial fee is calculated based on prepared transaction
1224
1322
  leastFee = tx.estimateFee(feeRate);
1225
1323
  }
1226
- const fee = await tx.fee(from.client);
1324
+ const fee = await tx.getFee(from.client);
1227
1325
  // The extra capacity paid the fee without a change
1228
1326
  if (fee === leastFee) {
1229
1327
  this.copy(tx);
@@ -1235,7 +1333,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1235
1333
  leastExtraCapacity = needed;
1236
1334
  continue;
1237
1335
  }
1238
- if ((await tx.fee(from.client)) !== leastFee) {
1336
+ if ((await tx.getFee(from.client)) !== leastFee) {
1239
1337
  throw new Error("The change function doesn't use all available capacity");
1240
1338
  }
1241
1339
  // New change cells created, update the fee
@@ -1297,3 +1395,38 @@ Transaction = Transaction_1 = __decorate([
1297
1395
  .mapOut((tx) => Transaction.from({ ...tx.raw, witnesses: tx.witnesses })))
1298
1396
  ], Transaction);
1299
1397
  export { Transaction };
1398
+ /**
1399
+ * Calculate Nervos DAO profit between two blocks
1400
+ */
1401
+ export function calcDaoProfit(profitableCapacity, depositHeaderLike, withdrawHeaderLike) {
1402
+ const depositHeader = ClientBlockHeader.from(depositHeaderLike);
1403
+ const withdrawHeader = ClientBlockHeader.from(withdrawHeaderLike);
1404
+ const profitableSize = numFrom(profitableCapacity);
1405
+ return ((profitableSize * withdrawHeader.dao.ar) / depositHeader.dao.ar -
1406
+ profitableSize);
1407
+ }
1408
+ /**
1409
+ * Calculate claimable epoch for Nervos DAO withdrawal
1410
+ * See https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0023-dao-deposit-withdraw/0023-dao-deposit-withdraw.md
1411
+ */
1412
+ export function calcDaoClaimEpoch(depositHeader, withdrawHeader) {
1413
+ const depositEpoch = ClientBlockHeader.from(depositHeader).epoch;
1414
+ const withdrawEpoch = ClientBlockHeader.from(withdrawHeader).epoch;
1415
+ const intDiff = withdrawEpoch[0] - depositEpoch[0];
1416
+ // deposit[1] withdraw[1]
1417
+ // ---------- <= -----------
1418
+ // deposit[2] withdraw[2]
1419
+ if (intDiff % numFrom(180) !== numFrom(0) ||
1420
+ depositEpoch[1] * withdrawEpoch[2] <= depositEpoch[2] * withdrawEpoch[1]) {
1421
+ return [
1422
+ depositEpoch[0] + (intDiff / numFrom(180) + numFrom(1)) * numFrom(180),
1423
+ depositEpoch[1],
1424
+ depositEpoch[2],
1425
+ ];
1426
+ }
1427
+ return [
1428
+ depositEpoch[0] + (intDiff / numFrom(180)) * numFrom(180),
1429
+ depositEpoch[1],
1430
+ depositEpoch[2],
1431
+ ];
1432
+ }
@@ -3,7 +3,8 @@ import { Hex, HexLike } from "../hex/index.js";
3
3
  import { Num, NumLike } from "../num/index.js";
4
4
  import { ClientCache } from "./cache/index.js";
5
5
  import { ClientCollectableSearchKeyLike } from "./clientTypes.advanced.js";
6
- import { CellDepInfoLike, ClientBlock, ClientBlockHeader, ClientFindCellsResponse, ClientFindTransactionsGroupedResponse, ClientFindTransactionsResponse, ClientIndexerSearchKeyLike, ClientIndexerSearchKeyTransactionLike, ClientTransactionResponse, KnownScript, OutputsValidator, ScriptInfo } from "./clientTypes.js";
6
+ import { CellDepInfoLike, ClientBlock, ClientBlockHeader, ClientFindCellsResponse, ClientFindTransactionsGroupedResponse, ClientFindTransactionsResponse, ClientIndexerSearchKeyLike, ClientIndexerSearchKeyTransactionLike, ClientTransactionResponse, OutputsValidator, ScriptInfo } from "./clientTypes.js";
7
+ import { KnownScript } from "./knownScript.js";
7
8
  /**
8
9
  * @public
9
10
  */
@@ -48,6 +49,7 @@ export declare abstract class Client {
48
49
  findCellsOnChain(key: ClientIndexerSearchKeyLike, order?: "asc" | "desc", limit?: number): AsyncGenerator<Cell>;
49
50
  /**
50
51
  * Find cells by search key designed for collectable cells.
52
+ * The result also includes cached cells, the order param only works for cells fetched from RPC.
51
53
  *
52
54
  * @param keyLike - The search key.
53
55
  * @returns A async generator for yielding cells.