@ckb-ccc/core 1.9.1 → 1.10.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 (82) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/ckb/index.d.ts +1 -0
  3. package/dist/ckb/index.d.ts.map +1 -1
  4. package/dist/ckb/index.js +1 -0
  5. package/dist/ckb/script.d.ts +12 -0
  6. package/dist/ckb/script.d.ts.map +1 -1
  7. package/dist/ckb/script.js +17 -0
  8. package/dist/ckb/transaction.d.ts +147 -14
  9. package/dist/ckb/transaction.d.ts.map +1 -1
  10. package/dist/ckb/transaction.js +165 -28
  11. package/dist/ckb/transactionErrors.d.ts +15 -0
  12. package/dist/ckb/transactionErrors.d.ts.map +1 -0
  13. package/dist/ckb/transactionErrors.js +21 -0
  14. package/dist/client/cache/cache.d.ts +7 -0
  15. package/dist/client/cache/cache.d.ts.map +1 -1
  16. package/dist/client/cache/cache.js +11 -0
  17. package/dist/client/cache/memory.advanced.d.ts +36 -3
  18. package/dist/client/cache/memory.advanced.d.ts.map +1 -1
  19. package/dist/client/cache/memory.advanced.js +53 -25
  20. package/dist/client/cache/memory.d.ts +10 -1
  21. package/dist/client/cache/memory.d.ts.map +1 -1
  22. package/dist/client/cache/memory.js +13 -2
  23. package/dist/client/client.d.ts.map +1 -1
  24. package/dist/client/client.js +6 -9
  25. package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  26. package/dist/client/clientPublicMainnet.advanced.js +60 -0
  27. package/dist/client/clientPublicTestnet.advanced.d.ts +23 -0
  28. package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  29. package/dist/client/clientPublicTestnet.advanced.js +144 -0
  30. package/dist/client/clientTypes.advanced.d.ts +0 -1
  31. package/dist/client/clientTypes.advanced.d.ts.map +1 -1
  32. package/dist/client/clientTypes.advanced.js +0 -1
  33. package/dist/client/knownScript.d.ts +3 -1
  34. package/dist/client/knownScript.d.ts.map +1 -1
  35. package/dist/client/knownScript.js +4 -0
  36. package/dist.commonjs/ckb/index.d.ts +1 -0
  37. package/dist.commonjs/ckb/index.d.ts.map +1 -1
  38. package/dist.commonjs/ckb/index.js +1 -0
  39. package/dist.commonjs/ckb/script.d.ts +12 -0
  40. package/dist.commonjs/ckb/script.d.ts.map +1 -1
  41. package/dist.commonjs/ckb/script.js +17 -0
  42. package/dist.commonjs/ckb/transaction.d.ts +147 -14
  43. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  44. package/dist.commonjs/ckb/transaction.js +164 -27
  45. package/dist.commonjs/ckb/transactionErrors.d.ts +15 -0
  46. package/dist.commonjs/ckb/transactionErrors.d.ts.map +1 -0
  47. package/dist.commonjs/ckb/transactionErrors.js +26 -0
  48. package/dist.commonjs/client/cache/cache.d.ts +7 -0
  49. package/dist.commonjs/client/cache/cache.d.ts.map +1 -1
  50. package/dist.commonjs/client/cache/cache.js +11 -0
  51. package/dist.commonjs/client/cache/memory.advanced.d.ts +36 -3
  52. package/dist.commonjs/client/cache/memory.advanced.d.ts.map +1 -1
  53. package/dist.commonjs/client/cache/memory.advanced.js +54 -26
  54. package/dist.commonjs/client/cache/memory.d.ts +10 -1
  55. package/dist.commonjs/client/cache/memory.d.ts.map +1 -1
  56. package/dist.commonjs/client/cache/memory.js +12 -1
  57. package/dist.commonjs/client/client.d.ts.map +1 -1
  58. package/dist.commonjs/client/client.js +5 -8
  59. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  60. package/dist.commonjs/client/clientPublicMainnet.advanced.js +60 -0
  61. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts +23 -0
  62. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  63. package/dist.commonjs/client/clientPublicTestnet.advanced.js +145 -1
  64. package/dist.commonjs/client/clientTypes.advanced.d.ts +0 -1
  65. package/dist.commonjs/client/clientTypes.advanced.d.ts.map +1 -1
  66. package/dist.commonjs/client/clientTypes.advanced.js +1 -2
  67. package/dist.commonjs/client/knownScript.d.ts +3 -1
  68. package/dist.commonjs/client/knownScript.d.ts.map +1 -1
  69. package/dist.commonjs/client/knownScript.js +4 -0
  70. package/package.json +1 -1
  71. package/src/ckb/index.ts +1 -0
  72. package/src/ckb/script.ts +20 -0
  73. package/src/ckb/transaction.ts +210 -33
  74. package/src/ckb/transactionErrors.ts +36 -0
  75. package/src/client/cache/cache.ts +14 -1
  76. package/src/client/cache/memory.advanced.ts +57 -30
  77. package/src/client/cache/memory.ts +18 -1
  78. package/src/client/client.ts +5 -10
  79. package/src/client/clientPublicMainnet.advanced.ts +68 -0
  80. package/src/client/clientPublicTestnet.advanced.ts +163 -0
  81. package/src/client/clientTypes.advanced.ts +0 -1
  82. package/src/client/knownScript.ts +5 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @ckb-ccc/core
2
2
 
3
+ ## 1.10.0
4
+ ### Minor Changes
5
+
6
+
7
+
8
+ - [#225](https://github.com/ckb-devrel/ccc/pull/225) [`c67e096`](https://github.com/ckb-devrel/ccc/commit/c67e096cc59a5685046cd5ad67676d0cf2d45dc3) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): optional `shouldAddInputs` for `Transaction.completeFee`
9
+
10
+
11
+ ### Patch Changes
12
+
13
+
14
+
15
+ - [#244](https://github.com/ckb-devrel/ccc/pull/244) [`2d23b47`](https://github.com/ckb-devrel/ccc/commit/2d23b477460f0f07c80c8e3e7641e35069788b70) Thanks [@phroi](https://github.com/phroi)! - Simplify MapLru, while improving Complexity
16
+
17
+
18
+
19
+ - [#225](https://github.com/ckb-devrel/ccc/pull/225) [`996e117`](https://github.com/ckb-devrel/ccc/commit/996e117c56fc5f3d4bb9b2adeac5c9da87128688) Thanks [@Hanssen0](https://github.com/Hanssen0)! - fix(core): `Transaction.clone` should clone inputs' cache
20
+
3
21
  ## 1.9.1
4
22
  ### Patch Changes
5
23
 
@@ -1,4 +1,5 @@
1
1
  export * from "./script.js";
2
2
  export * from "./transaction.js";
3
+ export * from "./transactionErrors.js";
3
4
  export * from "./transactionLumos.js";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ckb/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
package/dist/ckb/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./script.js";
2
2
  export * from "./transaction.js";
3
+ export * from "./transactionErrors.js";
3
4
  export * from "./transactionLumos.js";
@@ -103,6 +103,18 @@ export declare class Script extends Script_base {
103
103
  * ```
104
104
  */
105
105
  clone(): Script;
106
+ /**
107
+ * Check if the script is equal to another script.
108
+ * @public
109
+ * @param other - The other script to compare with
110
+ * @returns True if the scripts are equal, false otherwise
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const isEqual = script0.eq(script1);
115
+ * ```
116
+ */
117
+ eq(other: ScriptLike): boolean;
106
118
  /**
107
119
  * Creates a Script instance from a ScriptLike object.
108
120
  *
@@ -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,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
+ {"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;;;;;;;;;;OAUG;IACH,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAS9B;;;;;;;;;;;;;;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"}
@@ -112,6 +112,23 @@ let Script = Script_1 = class Script extends mol.Entity.Base() {
112
112
  clone() {
113
113
  return new Script_1(this.codeHash, this.hashType, this.args);
114
114
  }
115
+ /**
116
+ * Check if the script is equal to another script.
117
+ * @public
118
+ * @param other - The other script to compare with
119
+ * @returns True if the scripts are equal, false otherwise
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * const isEqual = script0.eq(script1);
124
+ * ```
125
+ */
126
+ eq(other) {
127
+ other = Script_1.from(other);
128
+ return (this.args === other.args &&
129
+ this.codeHash === other.codeHash &&
130
+ this.hashType === other.hashType);
131
+ }
115
132
  /**
116
133
  * Creates a Script instance from a ScriptLike object.
117
134
  *
@@ -106,6 +106,29 @@ export declare class OutPoint extends OutPoint_base {
106
106
  * ```
107
107
  */
108
108
  static from(outPoint: OutPointLike): OutPoint;
109
+ /**
110
+ * Clone a OutPoint.
111
+ *
112
+ * @returns A cloned OutPoint instance.
113
+ *
114
+ * @example
115
+ * ```typescript
116
+ * const outPoint1 = outPoint0.clone();
117
+ * ```
118
+ */
119
+ clone(): OutPoint;
120
+ /**
121
+ * Check if the OutPoint is equal to another OutPoint.
122
+ * @public
123
+ * @param other - The other OutPoint to compare with
124
+ * @returns True if the OutPoints are equal, false otherwise
125
+ *
126
+ * @example
127
+ * ```typescript
128
+ * const isEqual = outPoint0.eq(outPoint1);
129
+ * ```
130
+ */
131
+ eq(other: OutPointLike): boolean;
109
132
  }
110
133
  /**
111
134
  * @public
@@ -159,6 +182,17 @@ export declare class CellOutput extends CellOutput_base {
159
182
  * ```
160
183
  */
161
184
  static from(cellOutput: CellOutputLike): CellOutput;
185
+ /**
186
+ * Clone a CellOutput.
187
+ *
188
+ * @returns A cloned CellOutput instance.
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * const cellOutput1 = cellOutput0.clone();
193
+ * ```
194
+ */
195
+ clone(): CellOutput;
162
196
  }
163
197
  export declare const CellOutputVec: mol.Codec<CellOutputLike[], CellOutput[]>;
164
198
  /**
@@ -415,6 +449,16 @@ export declare class CellInput extends CellInput_base {
415
449
  * And it can also be miners' income. (But this is not implemented yet)
416
450
  */
417
451
  getExtraCapacity(client: Client): Promise<Num>;
452
+ /**
453
+ * Clone a CellInput.
454
+ *
455
+ * @returns A cloned CellInput instance.
456
+ *
457
+ * @example
458
+ * ```typescript
459
+ * const cellInput1 = cellInput0.clone();
460
+ * ```
461
+ */
418
462
  clone(): CellInput;
419
463
  }
420
464
  export declare const CellInputVec: mol.Codec<CellInputLike[], CellInput[]>;
@@ -450,17 +494,6 @@ export declare class CellDep extends CellDep_base {
450
494
  * @param depType - The dependency type.
451
495
  */
452
496
  constructor(outPoint: OutPoint, depType: DepType);
453
- /**
454
- * Clone a CellDep.
455
- *
456
- * @returns A cloned CellDep instance.
457
- *
458
- * @example
459
- * ```typescript
460
- * const cellDep1 = cellDep0.clone();
461
- * ```
462
- */
463
- clone(): CellDep;
464
497
  /**
465
498
  * Creates a CellDep instance from a CellDepLike object.
466
499
  *
@@ -476,6 +509,17 @@ export declare class CellDep extends CellDep_base {
476
509
  * ```
477
510
  */
478
511
  static from(cellDep: CellDepLike): CellDep;
512
+ /**
513
+ * Clone a CellDep.
514
+ *
515
+ * @returns A cloned CellDep instance.
516
+ *
517
+ * @example
518
+ * ```typescript
519
+ * const cellDep1 = cellDep0.clone();
520
+ * ```
521
+ */
522
+ clone(): CellDep;
479
523
  }
480
524
  export declare const CellDepVec: mol.Codec<CellDepLike[], CellDep[]>;
481
525
  /**
@@ -618,6 +662,44 @@ export declare class Transaction extends Transaction_base {
618
662
  * ```
619
663
  */
620
664
  copy(txLike: TransactionLike): void;
665
+ /**
666
+ * Creates a deep copy of the transaction.
667
+ * This method creates a new Transaction instance with all nested objects cloned,
668
+ * ensuring that modifications to the cloned transaction do not affect the original.
669
+ *
670
+ * @returns A new Transaction instance that is a deep copy of the current transaction.
671
+ *
672
+ * @example
673
+ * ```typescript
674
+ * const originalTx = Transaction.from({
675
+ * version: 0,
676
+ * inputs: [{ previousOutput: { txHash: "0x...", index: 0 } }],
677
+ * outputs: [{ capacity: 1000n, lock: lockScript }],
678
+ * outputsData: ["0x"],
679
+ * witnesses: ["0x"]
680
+ * });
681
+ *
682
+ * const clonedTx = originalTx.clone();
683
+ *
684
+ * // Modifications to clonedTx won't affect originalTx
685
+ * clonedTx.addOutput({ capacity: 2000n, lock: anotherLockScript });
686
+ * console.log(originalTx.outputs.length); // Still 1
687
+ * console.log(clonedTx.outputs.length); // Now 2
688
+ * ```
689
+ *
690
+ * @remarks
691
+ * The clone operation performs deep copying for:
692
+ * - Cell dependencies (cellDeps) - each CellDep is cloned
693
+ * - Inputs - each CellInput is cloned
694
+ * - Outputs - each CellOutput is cloned
695
+ *
696
+ * The following are shallow copied (references to immutable data):
697
+ * - Header dependencies (headerDeps) - Hex strings are immutable
698
+ * - Output data (outputsData) - Hex strings are immutable
699
+ * - Witnesses - Hex strings are immutable
700
+ * - Version - bigint is immutable
701
+ */
702
+ clone(): Transaction;
621
703
  /**
622
704
  * Creates a Transaction instance from a TransactionLike object.
623
705
  *
@@ -948,13 +1030,64 @@ export declare class Transaction extends Transaction_base {
948
1030
  getFee(client: Client): Promise<Num>;
949
1031
  getFeeRate(client: Client): Promise<Num>;
950
1032
  estimateFee(feeRate: NumLike): Num;
1033
+ /**
1034
+ * Completes the transaction fee by adding inputs and handling change outputs.
1035
+ * This method automatically calculates the required fee based on the transaction size and fee rate,
1036
+ * adds necessary inputs to cover the fee, and handles change outputs through the provided change function.
1037
+ *
1038
+ * @param from - The signer to complete inputs from and prepare the transaction.
1039
+ * @param change - A function that handles change capacity. It receives the transaction and excess capacity,
1040
+ * and should return the additional capacity needed (0 if change is handled successfully,
1041
+ * positive number if more capacity is needed for change cell creation).
1042
+ * @param expectedFeeRate - The expected fee rate in shannons per 1000 bytes. If not provided,
1043
+ * it will be fetched from the client.
1044
+ * @param filter - Optional filter for selecting cells when adding inputs.
1045
+ * @param options - Optional configuration object.
1046
+ * @param options.feeRateBlockRange - Block range for fee rate calculation when expectedFeeRate is not provided.
1047
+ * @param options.maxFeeRate - Maximum allowed fee rate.
1048
+ * @param options.shouldAddInputs - Whether to add inputs automatically. Defaults to true.
1049
+ * @returns A promise that resolves to a tuple containing:
1050
+ * - The number of inputs added during the process
1051
+ * - A boolean indicating whether change outputs were created (true) or fee was paid without change (false)
1052
+ *
1053
+ * @throws {ErrorTransactionInsufficientCapacity} When there's not enough capacity to cover the fee.
1054
+ * @throws {Error} When the change function doesn't properly handle the available capacity.
1055
+ *
1056
+ * @example
1057
+ * ```typescript
1058
+ * const [addedInputs, hasChange] = await tx.completeFee(
1059
+ * signer,
1060
+ * (tx, capacity) => {
1061
+ * if (capacity >= 61_00000000n) { // Minimum for a change cell
1062
+ * tx.addOutput({ capacity, lock: changeScript });
1063
+ * return 0;
1064
+ * }
1065
+ * return 61_00000000n; // Need more capacity for change cell
1066
+ * },
1067
+ * 1000n // 1000 shannons per 1000 bytes
1068
+ * );
1069
+ * ```
1070
+ */
951
1071
  completeFee(from: Signer, change: (tx: Transaction, capacity: Num) => Promise<NumLike> | NumLike, expectedFeeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike, options?: {
952
1072
  feeRateBlockRange?: NumLike;
953
1073
  maxFeeRate?: NumLike;
1074
+ shouldAddInputs?: boolean;
1075
+ }): Promise<[number, boolean]>;
1076
+ completeFeeChangeToLock(from: Signer, change: ScriptLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike, options?: {
1077
+ feeRateBlockRange?: NumLike;
1078
+ maxFeeRate?: NumLike;
1079
+ shouldAddInputs?: boolean;
1080
+ }): Promise<[number, boolean]>;
1081
+ completeFeeBy(from: Signer, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike, options?: {
1082
+ feeRateBlockRange?: NumLike;
1083
+ maxFeeRate?: NumLike;
1084
+ shouldAddInputs?: boolean;
1085
+ }): Promise<[number, boolean]>;
1086
+ completeFeeChangeToOutput(from: Signer, index: NumLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike, options?: {
1087
+ feeRateBlockRange?: NumLike;
1088
+ maxFeeRate?: NumLike;
1089
+ shouldAddInputs?: boolean;
954
1090
  }): Promise<[number, boolean]>;
955
- completeFeeChangeToLock(from: Signer, change: ScriptLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
956
- completeFeeBy(from: Signer, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
957
- completeFeeChangeToOutput(from: Signer, index: NumLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
958
1091
  }
959
1092
  /**
960
1093
  * Calculate Nervos DAO profit between two blocks
@@ -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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"}
@@ -8,7 +8,7 @@ var OutPoint_1, CellOutput_1, Since_1, CellInput_1, CellDep_1, WitnessArgs_1, Tr
8
8
  import { bytesFrom } from "../bytes/index.js";
9
9
  import { ClientBlockHeader, } from "../client/index.js";
10
10
  import { KnownScript } from "../client/knownScript.js";
11
- import { Zero, fixedPointFrom, fixedPointToString, } from "../fixedPoint/index.js";
11
+ import { Zero, fixedPointFrom } from "../fixedPoint/index.js";
12
12
  import { HasherCkb, hashCkb } from "../hasher/index.js";
13
13
  import { hexFrom } from "../hex/index.js";
14
14
  import { mol } from "../molecule/index.js";
@@ -16,6 +16,7 @@ import { numFrom, numFromBytes, numToBytes, numToHex, } from "../num/index.js";
16
16
  import { apply, reduceAsync } from "../utils/index.js";
17
17
  import { Script, ScriptOpt } from "./script.js";
18
18
  import { DEP_TYPE_TO_NUM, NUM_TO_DEP_TYPE } from "./transaction.advanced.js";
19
+ import { ErrorTransactionInsufficientCapacity, ErrorTransactionInsufficientCoin, } from "./transactionErrors.js";
19
20
  export const DepTypeCodec = mol.Codec.from({
20
21
  byteLength: 1,
21
22
  encode: depTypeToBytes,
@@ -115,6 +116,34 @@ let OutPoint = OutPoint_1 = class OutPoint extends mol.Entity.Base() {
115
116
  }
116
117
  return new OutPoint_1(hexFrom(outPoint.txHash), numFrom(outPoint.index));
117
118
  }
119
+ /**
120
+ * Clone a OutPoint.
121
+ *
122
+ * @returns A cloned OutPoint instance.
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * const outPoint1 = outPoint0.clone();
127
+ * ```
128
+ */
129
+ clone() {
130
+ return new OutPoint_1(this.txHash, this.index);
131
+ }
132
+ /**
133
+ * Check if the OutPoint is equal to another OutPoint.
134
+ * @public
135
+ * @param other - The other OutPoint to compare with
136
+ * @returns True if the OutPoints are equal, false otherwise
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * const isEqual = outPoint0.eq(outPoint1);
141
+ * ```
142
+ */
143
+ eq(other) {
144
+ other = OutPoint_1.from(other);
145
+ return this.txHash === other.txHash && this.index === other.index;
146
+ }
118
147
  };
119
148
  OutPoint = OutPoint_1 = __decorate([
120
149
  mol.codec(mol.struct({
@@ -164,6 +193,19 @@ let CellOutput = CellOutput_1 = class CellOutput extends mol.Entity.Base() {
164
193
  }
165
194
  return new CellOutput_1(numFrom(cellOutput.capacity), Script.from(cellOutput.lock), apply(Script.from, cellOutput.type));
166
195
  }
196
+ /**
197
+ * Clone a CellOutput.
198
+ *
199
+ * @returns A cloned CellOutput instance.
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * const cellOutput1 = cellOutput0.clone();
204
+ * ```
205
+ */
206
+ clone() {
207
+ return new CellOutput_1(this.capacity, this.lock.clone(), this.type?.clone());
208
+ }
167
209
  };
168
210
  CellOutput = CellOutput_1 = __decorate([
169
211
  mol.codec(mol.table({
@@ -493,11 +535,18 @@ let CellInput = CellInput_1 = class CellInput extends mol.Entity.Base() {
493
535
  async getExtraCapacity(client) {
494
536
  return (await this.getCell(client)).getDaoProfit(client);
495
537
  }
538
+ /**
539
+ * Clone a CellInput.
540
+ *
541
+ * @returns A cloned CellInput instance.
542
+ *
543
+ * @example
544
+ * ```typescript
545
+ * const cellInput1 = cellInput0.clone();
546
+ * ```
547
+ */
496
548
  clone() {
497
- const cloned = super.clone();
498
- cloned.cellOutput = this.cellOutput;
499
- cloned.outputData = this.outputData;
500
- return cloned;
549
+ return new CellInput_1(this.previousOutput.clone(), this.since, this.cellOutput?.clone(), this.outputData);
501
550
  }
502
551
  };
503
552
  CellInput = CellInput_1 = __decorate([
@@ -525,19 +574,6 @@ let CellDep = CellDep_1 = class CellDep extends mol.Entity.Base() {
525
574
  this.outPoint = outPoint;
526
575
  this.depType = depType;
527
576
  }
528
- /**
529
- * Clone a CellDep.
530
- *
531
- * @returns A cloned CellDep instance.
532
- *
533
- * @example
534
- * ```typescript
535
- * const cellDep1 = cellDep0.clone();
536
- * ```
537
- */
538
- clone() {
539
- return new CellDep_1(this.outPoint.clone(), this.depType);
540
- }
541
577
  /**
542
578
  * Creates a CellDep instance from a CellDepLike object.
543
579
  *
@@ -558,6 +594,19 @@ let CellDep = CellDep_1 = class CellDep extends mol.Entity.Base() {
558
594
  }
559
595
  return new CellDep_1(OutPoint.from(cellDep.outPoint), depTypeFrom(cellDep.depType));
560
596
  }
597
+ /**
598
+ * Clone a CellDep.
599
+ *
600
+ * @returns A cloned CellDep instance.
601
+ *
602
+ * @example
603
+ * ```typescript
604
+ * const cellDep1 = cellDep0.clone();
605
+ * ```
606
+ */
607
+ clone() {
608
+ return new CellDep_1(this.outPoint.clone(), this.depType);
609
+ }
561
610
  };
562
611
  CellDep = CellDep_1 = __decorate([
563
612
  mol.codec(mol.struct({
@@ -687,6 +736,46 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
687
736
  this.outputsData = tx.outputsData;
688
737
  this.witnesses = tx.witnesses;
689
738
  }
739
+ /**
740
+ * Creates a deep copy of the transaction.
741
+ * This method creates a new Transaction instance with all nested objects cloned,
742
+ * ensuring that modifications to the cloned transaction do not affect the original.
743
+ *
744
+ * @returns A new Transaction instance that is a deep copy of the current transaction.
745
+ *
746
+ * @example
747
+ * ```typescript
748
+ * const originalTx = Transaction.from({
749
+ * version: 0,
750
+ * inputs: [{ previousOutput: { txHash: "0x...", index: 0 } }],
751
+ * outputs: [{ capacity: 1000n, lock: lockScript }],
752
+ * outputsData: ["0x"],
753
+ * witnesses: ["0x"]
754
+ * });
755
+ *
756
+ * const clonedTx = originalTx.clone();
757
+ *
758
+ * // Modifications to clonedTx won't affect originalTx
759
+ * clonedTx.addOutput({ capacity: 2000n, lock: anotherLockScript });
760
+ * console.log(originalTx.outputs.length); // Still 1
761
+ * console.log(clonedTx.outputs.length); // Now 2
762
+ * ```
763
+ *
764
+ * @remarks
765
+ * The clone operation performs deep copying for:
766
+ * - Cell dependencies (cellDeps) - each CellDep is cloned
767
+ * - Inputs - each CellInput is cloned
768
+ * - Outputs - each CellOutput is cloned
769
+ *
770
+ * The following are shallow copied (references to immutable data):
771
+ * - Header dependencies (headerDeps) - Hex strings are immutable
772
+ * - Output data (outputsData) - Hex strings are immutable
773
+ * - Witnesses - Hex strings are immutable
774
+ * - Version - bigint is immutable
775
+ */
776
+ clone() {
777
+ return new Transaction_1(this.version, this.cellDeps.map((c) => c.clone()), this.headerDeps.map((h) => h), this.inputs.map((i) => i.clone()), this.outputs.map((o) => o.clone()), this.outputsData.map((o) => o), this.witnesses.map((w) => w));
778
+ }
690
779
  /**
691
780
  * Creates a Transaction instance from a TransactionLike object.
692
781
  *
@@ -1240,7 +1329,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1240
1329
  if (accumulated === undefined) {
1241
1330
  return addedCount;
1242
1331
  }
1243
- throw new Error(`Insufficient CKB, need ${fixedPointToString(expectedCapacity - accumulated)} extra CKB`);
1332
+ throw new ErrorTransactionInsufficientCapacity(expectedCapacity - accumulated);
1244
1333
  }
1245
1334
  async completeInputsAll(from, filter) {
1246
1335
  const { addedCount } = await this.completeInputs(from, filter ?? {
@@ -1290,7 +1379,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1290
1379
  if (accumulated === undefined || accumulated >= expectedBalance) {
1291
1380
  return addedCount;
1292
1381
  }
1293
- throw new Error(`Insufficient coin, need ${expectedBalance - accumulated} extra coin`);
1382
+ throw new ErrorTransactionInsufficientCoin(expectedBalance - accumulated, type);
1294
1383
  }
1295
1384
  async completeInputsAddOne(from, filter) {
1296
1385
  const { addedCount, accumulated } = await this.completeInputs(from, filter ?? {
@@ -1320,6 +1409,44 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1320
1409
  // + 999 then / 1000 to ceil the calculated fee
1321
1410
  return (numFrom(txSize) * numFrom(feeRate) + numFrom(999)) / numFrom(1000);
1322
1411
  }
1412
+ /**
1413
+ * Completes the transaction fee by adding inputs and handling change outputs.
1414
+ * This method automatically calculates the required fee based on the transaction size and fee rate,
1415
+ * adds necessary inputs to cover the fee, and handles change outputs through the provided change function.
1416
+ *
1417
+ * @param from - The signer to complete inputs from and prepare the transaction.
1418
+ * @param change - A function that handles change capacity. It receives the transaction and excess capacity,
1419
+ * and should return the additional capacity needed (0 if change is handled successfully,
1420
+ * positive number if more capacity is needed for change cell creation).
1421
+ * @param expectedFeeRate - The expected fee rate in shannons per 1000 bytes. If not provided,
1422
+ * it will be fetched from the client.
1423
+ * @param filter - Optional filter for selecting cells when adding inputs.
1424
+ * @param options - Optional configuration object.
1425
+ * @param options.feeRateBlockRange - Block range for fee rate calculation when expectedFeeRate is not provided.
1426
+ * @param options.maxFeeRate - Maximum allowed fee rate.
1427
+ * @param options.shouldAddInputs - Whether to add inputs automatically. Defaults to true.
1428
+ * @returns A promise that resolves to a tuple containing:
1429
+ * - The number of inputs added during the process
1430
+ * - A boolean indicating whether change outputs were created (true) or fee was paid without change (false)
1431
+ *
1432
+ * @throws {ErrorTransactionInsufficientCapacity} When there's not enough capacity to cover the fee.
1433
+ * @throws {Error} When the change function doesn't properly handle the available capacity.
1434
+ *
1435
+ * @example
1436
+ * ```typescript
1437
+ * const [addedInputs, hasChange] = await tx.completeFee(
1438
+ * signer,
1439
+ * (tx, capacity) => {
1440
+ * if (capacity >= 61_00000000n) { // Minimum for a change cell
1441
+ * tx.addOutput({ capacity, lock: changeScript });
1442
+ * return 0;
1443
+ * }
1444
+ * return 61_00000000n; // Need more capacity for change cell
1445
+ * },
1446
+ * 1000n // 1000 shannons per 1000 bytes
1447
+ * );
1448
+ * ```
1449
+ */
1323
1450
  async completeFee(from, change, expectedFeeRate, filter, options) {
1324
1451
  const feeRate = expectedFeeRate ??
1325
1452
  (await from.client.getFeeRate(options?.feeRateBlockRange, options));
@@ -1330,12 +1457,22 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1330
1457
  while (true) {
1331
1458
  const tx = this.clone();
1332
1459
  const collected = await (async () => {
1460
+ if (!(options?.shouldAddInputs ?? true)) {
1461
+ const fee = (await tx.getFee(from.client)) - leastFee - leastExtraCapacity;
1462
+ if (fee < Zero) {
1463
+ throw new ErrorTransactionInsufficientCapacity(-fee);
1464
+ }
1465
+ return 0;
1466
+ }
1333
1467
  try {
1334
1468
  return await tx.completeInputsByCapacity(from, leastFee + leastExtraCapacity, filter);
1335
1469
  }
1336
1470
  catch (err) {
1337
- if (leastExtraCapacity !== Zero) {
1338
- throw new Error("Not enough capacity for the change cell");
1471
+ if (err instanceof ErrorTransactionInsufficientCapacity &&
1472
+ leastExtraCapacity !== Zero) {
1473
+ throw new ErrorTransactionInsufficientCapacity(err.amount, {
1474
+ isForChange: true,
1475
+ });
1339
1476
  }
1340
1477
  throw err;
1341
1478
  }
@@ -1375,7 +1512,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1375
1512
  leastFee = changedFee;
1376
1513
  }
1377
1514
  }
1378
- completeFeeChangeToLock(from, change, feeRate, filter) {
1515
+ completeFeeChangeToLock(from, change, feeRate, filter, options) {
1379
1516
  const script = Script.from(change);
1380
1517
  return this.completeFee(from, (tx, capacity) => {
1381
1518
  const changeCell = CellOutput.from({ capacity: 0, lock: script });
@@ -1386,13 +1523,13 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1386
1523
  changeCell.capacity = capacity;
1387
1524
  tx.addOutput(changeCell);
1388
1525
  return 0;
1389
- }, feeRate, filter);
1526
+ }, feeRate, filter, options);
1390
1527
  }
1391
- async completeFeeBy(from, feeRate, filter) {
1528
+ async completeFeeBy(from, feeRate, filter, options) {
1392
1529
  const { script } = await from.getRecommendedAddressObj();
1393
- return this.completeFeeChangeToLock(from, script, feeRate, filter);
1530
+ return this.completeFeeChangeToLock(from, script, feeRate, filter, options);
1394
1531
  }
1395
- completeFeeChangeToOutput(from, index, feeRate, filter) {
1532
+ completeFeeChangeToOutput(from, index, feeRate, filter, options) {
1396
1533
  const change = Number(numFrom(index));
1397
1534
  if (!this.outputs[change]) {
1398
1535
  throw new Error("Non-existed output to change");
@@ -1400,7 +1537,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1400
1537
  return this.completeFee(from, (tx, capacity) => {
1401
1538
  tx.outputs[change].capacity += capacity;
1402
1539
  return 0;
1403
- }, feeRate, filter);
1540
+ }, feeRate, filter, options);
1404
1541
  }
1405
1542
  };
1406
1543
  Transaction = Transaction_1 = __decorate([