@ckb-ccc/core 1.4.0 → 1.6.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 (109) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/ckb/transaction.d.ts +57 -4
  3. package/dist/ckb/transaction.d.ts.map +1 -1
  4. package/dist/ckb/transaction.js +83 -26
  5. package/dist/client/cache/cache.d.ts +67 -11
  6. package/dist/client/cache/cache.d.ts.map +1 -1
  7. package/dist/client/cache/cache.js +94 -9
  8. package/dist/client/cache/memory.advanced.d.ts +2 -2
  9. package/dist/client/cache/memory.advanced.d.ts.map +1 -1
  10. package/dist/client/cache/memory.advanced.js +19 -7
  11. package/dist/client/cache/memory.d.ts +24 -7
  12. package/dist/client/cache/memory.d.ts.map +1 -1
  13. package/dist/client/cache/memory.js +76 -18
  14. package/dist/client/client.d.ts +27 -6
  15. package/dist/client/client.d.ts.map +1 -1
  16. package/dist/client/client.js +113 -22
  17. package/dist/client/clientPublicMainnet.d.ts.map +1 -1
  18. package/dist/client/clientPublicMainnet.js +13 -2
  19. package/dist/client/clientPublicTestnet.d.ts.map +1 -1
  20. package/dist/client/clientPublicTestnet.js +13 -2
  21. package/dist/client/clientTypes.advanced.d.ts +3 -0
  22. package/dist/client/clientTypes.advanced.d.ts.map +1 -1
  23. package/dist/client/clientTypes.advanced.js +3 -0
  24. package/dist/client/clientTypes.d.ts +110 -13
  25. package/dist/client/clientTypes.d.ts.map +1 -1
  26. package/dist/client/clientTypes.js +118 -4
  27. package/dist/client/jsonRpc/client.d.ts +4 -4
  28. package/dist/client/jsonRpc/client.d.ts.map +1 -1
  29. package/dist/client/jsonRpc/client.js +4 -4
  30. package/dist/client/jsonRpc/transformers.js +3 -3
  31. package/dist/jsonRpc/requestor.d.ts +1 -0
  32. package/dist/jsonRpc/requestor.d.ts.map +1 -1
  33. package/dist/jsonRpc/requestor.js +4 -2
  34. package/dist/jsonRpc/transports/advanced.d.ts +1 -0
  35. package/dist/jsonRpc/transports/advanced.d.ts.map +1 -1
  36. package/dist/jsonRpc/transports/advanced.js +1 -0
  37. package/dist/jsonRpc/transports/fallback.d.ts +8 -0
  38. package/dist/jsonRpc/transports/fallback.d.ts.map +1 -0
  39. package/dist/jsonRpc/transports/fallback.js +22 -0
  40. package/dist/jsonRpc/transports/webSocket.d.ts.map +1 -1
  41. package/dist/jsonRpc/transports/webSocket.js +7 -3
  42. package/dist/molecule/predefined.d.ts +10 -10
  43. package/dist/molecule/predefined.d.ts.map +1 -1
  44. package/dist/utils/index.d.ts +4 -0
  45. package/dist/utils/index.d.ts.map +1 -1
  46. package/dist/utils/index.js +13 -1
  47. package/dist.commonjs/advanced.js +17 -7
  48. package/dist.commonjs/ckb/transaction.d.ts +57 -4
  49. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  50. package/dist.commonjs/ckb/transaction.js +83 -26
  51. package/dist.commonjs/client/cache/cache.d.ts +67 -11
  52. package/dist.commonjs/client/cache/cache.d.ts.map +1 -1
  53. package/dist.commonjs/client/cache/cache.js +94 -9
  54. package/dist.commonjs/client/cache/memory.advanced.d.ts +2 -2
  55. package/dist.commonjs/client/cache/memory.advanced.d.ts.map +1 -1
  56. package/dist.commonjs/client/cache/memory.advanced.js +19 -7
  57. package/dist.commonjs/client/cache/memory.d.ts +24 -7
  58. package/dist.commonjs/client/cache/memory.d.ts.map +1 -1
  59. package/dist.commonjs/client/cache/memory.js +75 -17
  60. package/dist.commonjs/client/client.d.ts +27 -6
  61. package/dist.commonjs/client/client.d.ts.map +1 -1
  62. package/dist.commonjs/client/client.js +111 -20
  63. package/dist.commonjs/client/clientPublicMainnet.d.ts.map +1 -1
  64. package/dist.commonjs/client/clientPublicMainnet.js +13 -2
  65. package/dist.commonjs/client/clientPublicTestnet.d.ts.map +1 -1
  66. package/dist.commonjs/client/clientPublicTestnet.js +13 -2
  67. package/dist.commonjs/client/clientTypes.advanced.d.ts +3 -0
  68. package/dist.commonjs/client/clientTypes.advanced.d.ts.map +1 -1
  69. package/dist.commonjs/client/clientTypes.advanced.js +4 -0
  70. package/dist.commonjs/client/clientTypes.d.ts +110 -13
  71. package/dist.commonjs/client/clientTypes.d.ts.map +1 -1
  72. package/dist.commonjs/client/clientTypes.js +123 -4
  73. package/dist.commonjs/client/jsonRpc/client.d.ts +4 -4
  74. package/dist.commonjs/client/jsonRpc/client.d.ts.map +1 -1
  75. package/dist.commonjs/client/jsonRpc/client.js +4 -4
  76. package/dist.commonjs/client/jsonRpc/transformers.js +2 -2
  77. package/dist.commonjs/index.js +17 -7
  78. package/dist.commonjs/jsonRpc/requestor.d.ts +1 -0
  79. package/dist.commonjs/jsonRpc/requestor.d.ts.map +1 -1
  80. package/dist.commonjs/jsonRpc/requestor.js +3 -1
  81. package/dist.commonjs/jsonRpc/transports/advanced.d.ts +1 -0
  82. package/dist.commonjs/jsonRpc/transports/advanced.d.ts.map +1 -1
  83. package/dist.commonjs/jsonRpc/transports/advanced.js +1 -0
  84. package/dist.commonjs/jsonRpc/transports/fallback.d.ts +8 -0
  85. package/dist.commonjs/jsonRpc/transports/fallback.d.ts.map +1 -0
  86. package/dist.commonjs/jsonRpc/transports/fallback.js +26 -0
  87. package/dist.commonjs/jsonRpc/transports/webSocket.d.ts.map +1 -1
  88. package/dist.commonjs/jsonRpc/transports/webSocket.js +7 -3
  89. package/dist.commonjs/molecule/index.js +17 -7
  90. package/dist.commonjs/utils/index.d.ts +4 -0
  91. package/dist.commonjs/utils/index.d.ts.map +1 -1
  92. package/dist.commonjs/utils/index.js +13 -0
  93. package/package.json +1 -1
  94. package/src/ckb/transaction.ts +112 -41
  95. package/src/client/cache/cache.ts +126 -13
  96. package/src/client/cache/memory.advanced.ts +24 -7
  97. package/src/client/cache/memory.ts +130 -30
  98. package/src/client/client.ts +170 -27
  99. package/src/client/clientPublicMainnet.ts +14 -2
  100. package/src/client/clientPublicTestnet.ts +14 -2
  101. package/src/client/clientTypes.advanced.ts +4 -0
  102. package/src/client/clientTypes.ts +224 -33
  103. package/src/client/jsonRpc/client.ts +11 -9
  104. package/src/client/jsonRpc/transformers.ts +2 -2
  105. package/src/jsonRpc/requestor.ts +10 -1
  106. package/src/jsonRpc/transports/advanced.ts +1 -0
  107. package/src/jsonRpc/transports/fallback.ts +27 -0
  108. package/src/jsonRpc/transports/webSocket.ts +17 -13
  109. package/src/utils/index.ts +14 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @ckb-ccc/core
2
2
 
3
+ ## 1.6.0
4
+
5
+ ### Minor Changes
6
+
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
+
9
+ - [#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
+
11
+ - [#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
+
13
+ - [#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
+
15
+ ### Patch Changes
16
+
17
+ - [#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
+
19
+ - [#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
+
21
+ ## 1.5.0
22
+
23
+ ### Minor Changes
24
+
25
+ - [#141](https://github.com/ckb-devrel/ccc/pull/141) [`28c211d`](https://github.com/ckb-devrel/ccc/commit/28c211d839a2d2305eca56e82ba7da144aa3df4a) Thanks [@Hanssen0](https://github.com/Hanssen0)! - feat(core): TransportFallback
26
+
3
27
  ## 1.4.0
4
28
 
5
29
  ### Minor Changes
@@ -163,8 +163,11 @@ export declare const CellOutputVec: mol.Codec<CellOutputLike[], CellOutput[]>;
163
163
  /**
164
164
  * @public
165
165
  */
166
- export type CellLike = {
166
+ export type CellLike = ({
167
167
  outPoint: OutPointLike;
168
+ } | {
169
+ previousOutput: OutPointLike;
170
+ }) & {
168
171
  cellOutput: CellOutputLike;
169
172
  outputData: HexLike;
170
173
  };
@@ -307,8 +310,11 @@ export declare class Since extends Since_base {
307
310
  /**
308
311
  * @public
309
312
  */
310
- export type CellInputLike = {
313
+ export type CellInputLike = ({
311
314
  previousOutput: OutPointLike;
315
+ } | {
316
+ outPoint: OutPointLike;
317
+ }) & {
312
318
  since?: SinceLike | NumLike | null;
313
319
  cellOutput?: CellOutputLike | null;
314
320
  outputData?: HexLike | null;
@@ -368,6 +374,7 @@ export declare class CellInput extends CellInput_base {
368
374
  * ```
369
375
  */
370
376
  completeExtraInfos(client: Client): Promise<void>;
377
+ clone(): CellInput;
371
378
  }
372
379
  export declare const CellInputVec: mol.Codec<CellInputLike[], CellInput[]>;
373
380
  /**
@@ -602,6 +609,11 @@ export declare class Transaction extends Transaction_base {
602
609
  * ```
603
610
  */
604
611
  static fromLumosSkeleton(skeleton: LumosTransactionSkeletonType): Transaction;
612
+ /**
613
+ * @deprecated
614
+ * Use ccc.stringify instead.
615
+ * stringify the tx to JSON string.
616
+ */
605
617
  stringify(): string;
606
618
  /**
607
619
  * Converts the raw transaction data to bytes.
@@ -767,6 +779,42 @@ export declare class Transaction extends Transaction_base {
767
779
  * ```
768
780
  */
769
781
  setOutputDataAt(index: number, witness: HexLike): void;
782
+ /**
783
+ * get input
784
+ *
785
+ * @param index - The cell input index
786
+ *
787
+ * @example
788
+ * ```typescript
789
+ * await tx.getInput(0);
790
+ * ```
791
+ */
792
+ getInput(index: NumLike): CellInput | undefined;
793
+ /**
794
+ * add input
795
+ *
796
+ * @param inputLike - The cell input.
797
+ *
798
+ * @example
799
+ * ```typescript
800
+ * await tx.addInput({ });
801
+ * ```
802
+ */
803
+ addInput(inputLike: CellInputLike): number;
804
+ /**
805
+ * get output
806
+ *
807
+ * @param index - The cell output index
808
+ *
809
+ * @example
810
+ * ```typescript
811
+ * await tx.getOutput(0);
812
+ * ```
813
+ */
814
+ getOutput(index: NumLike): {
815
+ cellOutput: CellOutput;
816
+ outputData: Hex;
817
+ } | undefined;
770
818
  /**
771
819
  * Add output
772
820
  *
@@ -778,7 +826,7 @@ export declare class Transaction extends Transaction_base {
778
826
  * await tx.addOutput(cellOutput, "0xabcd");
779
827
  * ```
780
828
  */
781
- addOutput(outputLike: Omit<CellOutputLike, "capacity"> & Partial<Pick<CellOutputLike, "capacity">>, outputData?: HexLike): void;
829
+ addOutput(outputLike: Omit<CellOutputLike, "capacity"> & Partial<Pick<CellOutputLike, "capacity">>, outputData?: HexLike): number;
782
830
  /**
783
831
  * Get witness at index as WitnessArgs
784
832
  *
@@ -830,8 +878,13 @@ export declare class Transaction extends Transaction_base {
830
878
  completeInputsByUdt(from: Signer, type: ScriptLike, balanceTweak?: NumLike): Promise<number>;
831
879
  completeInputsAddOne(from: Signer, filter?: ClientCollectableSearchKeyFilterLike): Promise<number>;
832
880
  completeInputsAtLeastOne(from: Signer, filter?: ClientCollectableSearchKeyFilterLike): Promise<number>;
881
+ fee(client: Client): Promise<Num>;
882
+ feeRate(client: Client): Promise<Num>;
833
883
  estimateFee(feeRate: NumLike): Num;
834
- completeFee(from: Signer, change: (tx: Transaction, capacity: Num) => Promise<NumLike> | NumLike, expectedFeeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
884
+ completeFee(from: Signer, change: (tx: Transaction, capacity: Num) => Promise<NumLike> | NumLike, expectedFeeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike, options?: {
885
+ feeRateBlockRange?: NumLike;
886
+ maxFeeRate?: NumLike;
887
+ }): Promise<[number, boolean]>;
835
888
  completeFeeChangeToLock(from: Signer, change: ScriptLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
836
889
  completeFeeBy(from: Signer, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
837
890
  completeFeeChangeToOutput(from: Signer, index: NumLike, feeRate?: NumLike, filter?: ClientCollectableSearchKeyFilterLike): Promise<[number, boolean]>;
@@ -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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"}
@@ -198,7 +198,7 @@ export class Cell {
198
198
  if (cell instanceof Cell) {
199
199
  return cell;
200
200
  }
201
- return new Cell(OutPoint.from(cell.outPoint), CellOutput.from(cell.cellOutput), hexFrom(cell.outputData));
201
+ return new Cell(OutPoint.from("outPoint" in cell ? cell.outPoint : cell.previousOutput), CellOutput.from(cell.cellOutput), hexFrom(cell.outputData));
202
202
  }
203
203
  /**
204
204
  * Clone a Cell
@@ -369,7 +369,9 @@ let CellInput = CellInput_1 = class CellInput extends mol.Entity.Base() {
369
369
  if (cellInput instanceof CellInput_1) {
370
370
  return cellInput;
371
371
  }
372
- return new CellInput_1(OutPoint.from(cellInput.previousOutput), Since.from(cellInput.since ?? 0).toNum(), apply(CellOutput.from, cellInput.cellOutput), apply(hexFrom, cellInput.outputData));
372
+ return new CellInput_1(OutPoint.from("previousOutput" in cellInput
373
+ ? cellInput.previousOutput
374
+ : cellInput.outPoint), Since.from(cellInput.since ?? 0).toNum(), apply(CellOutput.from, cellInput.cellOutput), apply(hexFrom, cellInput.outputData));
373
375
  }
374
376
  /**
375
377
  * Complete extra infos in the input. Like the output of the out point.
@@ -392,6 +394,12 @@ let CellInput = CellInput_1 = class CellInput extends mol.Entity.Base() {
392
394
  this.cellOutput = cell.cellOutput;
393
395
  this.outputData = cell.outputData;
394
396
  }
397
+ clone() {
398
+ const cloned = super.clone();
399
+ cloned.cellOutput = this.cellOutput;
400
+ cloned.outputData = this.outputData;
401
+ return cloned;
402
+ }
395
403
  };
396
404
  CellInput = CellInput_1 = __decorate([
397
405
  mol.codec(mol
@@ -399,10 +407,7 @@ CellInput = CellInput_1 = __decorate([
399
407
  since: Since,
400
408
  previousOutput: OutPoint,
401
409
  })
402
- .mapIn((encodable) => ({
403
- ...encodable,
404
- since: encodable.since ?? 0,
405
- })))
410
+ .mapIn((encodable) => CellInput.from(encodable)))
406
411
  ], CellInput);
407
412
  export { CellInput };
408
413
  export const CellInputVec = mol.vector(CellInput);
@@ -655,6 +660,11 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
655
660
  witnesses: skeleton.witnesses.toArray(),
656
661
  });
657
662
  }
663
+ /**
664
+ * @deprecated
665
+ * Use ccc.stringify instead.
666
+ * stringify the tx to JSON string.
667
+ */
658
668
  stringify() {
659
669
  return JSON.stringify(this, (_, value) => {
660
670
  if (typeof value === "bigint") {
@@ -929,6 +939,52 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
929
939
  }
930
940
  this.outputsData[index] = hexFrom(witness);
931
941
  }
942
+ /**
943
+ * get input
944
+ *
945
+ * @param index - The cell input index
946
+ *
947
+ * @example
948
+ * ```typescript
949
+ * await tx.getInput(0);
950
+ * ```
951
+ */
952
+ getInput(index) {
953
+ return this.inputs[Number(numFrom(index))];
954
+ }
955
+ /**
956
+ * add input
957
+ *
958
+ * @param inputLike - The cell input.
959
+ *
960
+ * @example
961
+ * ```typescript
962
+ * await tx.addInput({ });
963
+ * ```
964
+ */
965
+ addInput(inputLike) {
966
+ return this.inputs.push(CellInput.from(inputLike));
967
+ }
968
+ /**
969
+ * get output
970
+ *
971
+ * @param index - The cell output index
972
+ *
973
+ * @example
974
+ * ```typescript
975
+ * await tx.getOutput(0);
976
+ * ```
977
+ */
978
+ getOutput(index) {
979
+ const i = Number(numFrom(index));
980
+ if (i >= this.outputs.length) {
981
+ return;
982
+ }
983
+ return {
984
+ cellOutput: this.outputs[i],
985
+ outputData: this.outputsData[i] ?? "0x",
986
+ };
987
+ }
932
988
  /**
933
989
  * Add output
934
990
  *
@@ -948,8 +1004,9 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
948
1004
  if (output.capacity === Zero) {
949
1005
  output.capacity = fixedPointFrom(output.occupiedSize + bytesFrom(outputData).length);
950
1006
  }
951
- const i = this.outputs.push(output) - 1;
952
- this.setOutputDataAt(i, outputData);
1007
+ const len = this.outputs.push(output);
1008
+ this.setOutputDataAt(len - 1, outputData);
1009
+ return len;
953
1010
  }
954
1011
  /**
955
1012
  * Get witness at index as WitnessArgs
@@ -1055,11 +1112,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1055
1112
  }
1056
1113
  acc = next;
1057
1114
  }
1058
- this.inputs.push(...collectedCells.map(({ outPoint, outputData, cellOutput }) => CellInput.from({
1059
- previousOutput: outPoint,
1060
- outputData,
1061
- cellOutput,
1062
- })));
1115
+ collectedCells.forEach((cell) => this.addInput(cell));
1063
1116
  if (fulfilled) {
1064
1117
  return {
1065
1118
  addedCount: collectedCells.length,
@@ -1122,11 +1175,7 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1122
1175
  if (this.inputs.some(({ previousOutput }) => previousOutput.eq(cell.outPoint))) {
1123
1176
  continue;
1124
1177
  }
1125
- this.inputs.push(CellInput.from({
1126
- previousOutput: cell.outPoint,
1127
- outputData: cell.outputData,
1128
- cellOutput: cell.cellOutput,
1129
- }));
1178
+ this.addInput(cell);
1130
1179
  return 1;
1131
1180
  }
1132
1181
  throw new Error(`Insufficient CKB, need at least one new cell`);
@@ -1137,12 +1186,21 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1137
1186
  }
1138
1187
  return this.completeInputsAddOne(from, filter);
1139
1188
  }
1189
+ async fee(client) {
1190
+ return (await this.getInputsCapacity(client)) - this.getOutputsCapacity();
1191
+ }
1192
+ async feeRate(client) {
1193
+ return (((await this.fee(client)) * numFrom(1000)) /
1194
+ numFrom(this.toBytes().length + 4));
1195
+ }
1140
1196
  estimateFee(feeRate) {
1141
1197
  const txSize = this.toBytes().length + 4;
1142
- return (numFrom(txSize) * numFrom(feeRate) + numFrom(1000)) / numFrom(1000);
1198
+ // + 999 then / 1000 to ceil the calculated fee
1199
+ return (numFrom(txSize) * numFrom(feeRate) + numFrom(999)) / numFrom(1000);
1143
1200
  }
1144
- async completeFee(from, change, expectedFeeRate, filter) {
1145
- const feeRate = expectedFeeRate ?? (await from.client.getFeeRate());
1201
+ async completeFee(from, change, expectedFeeRate, filter, options) {
1202
+ const feeRate = expectedFeeRate ??
1203
+ (await from.client.getFeeRate(options?.feeRateBlockRange, options));
1146
1204
  // Complete all inputs extra infos for cache
1147
1205
  await this.getInputsCapacity(from.client);
1148
1206
  let leastFee = Zero;
@@ -1165,20 +1223,19 @@ let Transaction = Transaction_1 = class Transaction extends mol.Entity.Base() {
1165
1223
  // The initial fee is calculated based on prepared transaction
1166
1224
  leastFee = tx.estimateFee(feeRate);
1167
1225
  }
1168
- const extraCapacity = (await tx.getInputsCapacity(from.client)) - tx.getOutputsCapacity();
1226
+ const fee = await tx.fee(from.client);
1169
1227
  // The extra capacity paid the fee without a change
1170
- if (extraCapacity === leastFee) {
1228
+ if (fee === leastFee) {
1171
1229
  this.copy(tx);
1172
1230
  return [collected, false];
1173
1231
  }
1174
- const needed = numFrom(await Promise.resolve(change(tx, extraCapacity - leastFee)));
1232
+ const needed = numFrom(await Promise.resolve(change(tx, fee - leastFee)));
1175
1233
  // No enough extra capacity to create new cells for change
1176
1234
  if (needed > Zero) {
1177
1235
  leastExtraCapacity = needed;
1178
1236
  continue;
1179
1237
  }
1180
- if ((await tx.getInputsCapacity(from.client)) - tx.getOutputsCapacity() !==
1181
- leastFee) {
1238
+ if ((await tx.fee(from.client)) !== leastFee) {
1182
1239
  throw new Error("The change function doesn't use all available capacity");
1183
1240
  }
1184
1241
  // New change cells created, update the fee
@@ -1,35 +1,91 @@
1
1
  import { Cell, CellLike, OutPointLike, Transaction, TransactionLike } from "../../ckb/index.js";
2
2
  import { HexLike } from "../../hex/index.js";
3
+ import { NumLike } from "../../num/index.js";
3
4
  import { ClientCollectableSearchKeyLike } from "../clientTypes.advanced.js";
5
+ import { ClientBlock, ClientBlockHeader, ClientBlockHeaderLike, ClientBlockLike, ClientTransactionResponse, ClientTransactionResponseLike } from "../clientTypes.js";
6
+ /**
7
+ * @public
8
+ * The ClientCache class is mainly designed for chained transactions.
9
+ * Consumed & Created cells are "marked" so they can be correctly handled when composing transactions.
10
+ * It also act as cache for rpc requests to reduce cost, but this is optional.
11
+ */
4
12
  export declare abstract class ClientCache {
5
- abstract markUsable(...cellLikes: (CellLike | CellLike[])[]): Promise<void>;
13
+ abstract markUsableNoCache(...cellLikes: (CellLike | CellLike[])[]): Promise<void>;
14
+ markUsable(...cellLikes: (CellLike | CellLike[])[]): Promise<void>;
6
15
  abstract markUnusable(...outPointLike: (OutPointLike | OutPointLike[])[]): Promise<void>;
7
16
  markTransactions(...transactionLike: (TransactionLike | TransactionLike[])[]): Promise<void>;
8
17
  abstract clear(): Promise<void>;
9
18
  abstract findCells(filter: ClientCollectableSearchKeyLike): AsyncGenerator<Cell>;
19
+ abstract isUnusable(outPointLike: OutPointLike): Promise<boolean>;
20
+ /**
21
+ * Record known cells
22
+ * Implement this method to enable cells query caching
23
+ * @param _cells
24
+ */
25
+ recordCells(..._cells: (CellLike | CellLike[])[]): Promise<void>;
10
26
  /**
11
27
  * Get a known cell by out point
28
+ * Implement this method to enable cells query caching
12
29
  * @param _outPoint
13
30
  */
14
- abstract getCell(_outPoint: OutPointLike): Promise<Cell | undefined>;
15
- abstract isUnusable(outPointLike: OutPointLike): Promise<boolean>;
31
+ getCell(_outPoint: OutPointLike): Promise<Cell | undefined>;
16
32
  /**
17
- * Record known transactions
33
+ * Record known transaction responses.
18
34
  * Implement this method to enable transactions query caching
19
35
  * @param _transactions
20
36
  */
21
- recordTransactions(..._transactions: (TransactionLike | TransactionLike[])[]): Promise<void>;
37
+ recordTransactionResponses(..._transactions: (ClientTransactionResponseLike | ClientTransactionResponseLike[])[]): Promise<void>;
22
38
  /**
23
- * Get a known transaction by hash
39
+ * Get a known transaction response by hash
24
40
  * Implement this method to enable transactions query caching
25
41
  * @param _txHash
26
42
  */
27
- getTransaction(_txHash: HexLike): Promise<Transaction | undefined>;
43
+ getTransactionResponse(_txHash: HexLike): Promise<ClientTransactionResponse | undefined>;
28
44
  /**
29
- * Record known cells
30
- * Implement this method to enable cells query caching
31
- * @param _cells
45
+ * Record known transactions.
46
+ * @param transactions
32
47
  */
33
- recordCells(..._cells: (CellLike | CellLike[])[]): Promise<void>;
48
+ recordTransactions(...transactions: (TransactionLike | TransactionLike[])[]): Promise<void>;
49
+ /**
50
+ * Get a known transaction by hash
51
+ * @param txHash
52
+ */
53
+ getTransaction(txHash: HexLike): Promise<Transaction | undefined>;
54
+ /**
55
+ * Record known block headers.
56
+ * Implement this method to enable block headers query caching
57
+ * @param _headers
58
+ */
59
+ recordHeaders(..._headers: (ClientBlockHeaderLike | ClientBlockHeaderLike[])[]): Promise<void>;
60
+ /**
61
+ * Get a known block header by hash
62
+ * Implement this method to enable block headers query caching
63
+ * @param _hash
64
+ */
65
+ getHeaderByHash(_hash: HexLike): Promise<ClientBlockHeader | undefined>;
66
+ /**
67
+ * Get a known block header by number
68
+ * Implement this method to enable block headers query caching
69
+ * @param _number
70
+ */
71
+ getHeaderByNumber(_number: NumLike): Promise<ClientBlockHeader | undefined>;
72
+ /**
73
+ * Record known blocks.
74
+ * Implement this method to enable blocks query caching
75
+ * @param _blocks
76
+ */
77
+ recordBlocks(..._blocks: (ClientBlockLike | ClientBlockLike[])[]): Promise<void>;
78
+ /**
79
+ * Get a known block header by hash
80
+ * Implement this method to enable block headers query caching
81
+ * @param _hash
82
+ */
83
+ getBlockByHash(_hash: HexLike): Promise<ClientBlock | undefined>;
84
+ /**
85
+ * Get a known block header by number
86
+ * Implement this method to enable block headers query caching
87
+ * @param _number
88
+ */
89
+ getBlockByNumber(_number: NumLike): Promise<ClientBlock | undefined>;
34
90
  }
35
91
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/client/cache/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAE5E,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,UAAU,CAAC,GAAG,SAAS,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3E,QAAQ,CAAC,YAAY,CACnB,GAAG,YAAY,EAAE,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC,EAAE,GACjD,OAAO,CAAC,IAAI,CAAC;IACV,gBAAgB,CACpB,GAAG,eAAe,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GAC1D,OAAO,CAAC,IAAI,CAAC;IAuBhB,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAChB,MAAM,EAAE,8BAA8B,GACrC,cAAc,CAAC,IAAI,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IACpE,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAEjE;;;;OAIG;IACG,kBAAkB,CACtB,GAAG,aAAa,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GACxD,OAAO,CAAC,IAAI,CAAC;IAChB;;;;OAIG;IACG,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAIxE;;;;OAIG;IACG,WAAW,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACvE"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/client/cache/cache.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,21 @@
1
1
  import { Transaction, } from "../../ckb/index.js";
2
+ /**
3
+ * @public
4
+ * The ClientCache class is mainly designed for chained transactions.
5
+ * Consumed & Created cells are "marked" so they can be correctly handled when composing transactions.
6
+ * It also act as cache for rpc requests to reduce cost, but this is optional.
7
+ */
2
8
  export class ClientCache {
9
+ async markUsable(...cellLikes) {
10
+ await this.recordCells(...cellLikes);
11
+ return this.markUsableNoCache(...cellLikes);
12
+ }
3
13
  async markTransactions(...transactionLike) {
4
14
  await Promise.all([
5
- this.recordTransactions(...transactionLike),
15
+ this.recordTransactionResponses(transactionLike.flat().map((transaction) => ({
16
+ transaction: transaction,
17
+ status: "sent",
18
+ }))),
6
19
  ...transactionLike.flat().map((transactionLike) => {
7
20
  const tx = Transaction.from(transactionLike);
8
21
  const txHash = tx.hash();
@@ -20,24 +33,96 @@ export class ClientCache {
20
33
  }),
21
34
  ]);
22
35
  }
36
+ // ======
37
+ // Following methods are for requests caching and optional.
38
+ // ======
23
39
  /**
24
- * Record known transactions
40
+ * Record known cells
41
+ * Implement this method to enable cells query caching
42
+ * @param _cells
43
+ */
44
+ async recordCells(..._cells) { }
45
+ /**
46
+ * Get a known cell by out point
47
+ * Implement this method to enable cells query caching
48
+ * @param _outPoint
49
+ */
50
+ async getCell(_outPoint) {
51
+ return;
52
+ }
53
+ /**
54
+ * Record known transaction responses.
25
55
  * Implement this method to enable transactions query caching
26
56
  * @param _transactions
27
57
  */
28
- async recordTransactions(..._transactions) { }
58
+ async recordTransactionResponses(..._transactions) { }
29
59
  /**
30
- * Get a known transaction by hash
60
+ * Get a known transaction response by hash
31
61
  * Implement this method to enable transactions query caching
32
62
  * @param _txHash
33
63
  */
34
- async getTransaction(_txHash) {
64
+ async getTransactionResponse(_txHash) {
35
65
  return;
36
66
  }
37
67
  /**
38
- * Record known cells
39
- * Implement this method to enable cells query caching
40
- * @param _cells
68
+ * Record known transactions.
69
+ * @param transactions
41
70
  */
42
- async recordCells(..._cells) { }
71
+ async recordTransactions(...transactions) {
72
+ return this.recordTransactionResponses(transactions.flat().map((transaction) => ({
73
+ transaction,
74
+ status: "unknown",
75
+ })));
76
+ }
77
+ /**
78
+ * Get a known transaction by hash
79
+ * @param txHash
80
+ */
81
+ async getTransaction(txHash) {
82
+ return (await this.getTransactionResponse(txHash))?.transaction;
83
+ }
84
+ /**
85
+ * Record known block headers.
86
+ * Implement this method to enable block headers query caching
87
+ * @param _headers
88
+ */
89
+ async recordHeaders(..._headers) { }
90
+ /**
91
+ * Get a known block header by hash
92
+ * Implement this method to enable block headers query caching
93
+ * @param _hash
94
+ */
95
+ async getHeaderByHash(_hash) {
96
+ return;
97
+ }
98
+ /**
99
+ * Get a known block header by number
100
+ * Implement this method to enable block headers query caching
101
+ * @param _number
102
+ */
103
+ async getHeaderByNumber(_number) {
104
+ return;
105
+ }
106
+ /**
107
+ * Record known blocks.
108
+ * Implement this method to enable blocks query caching
109
+ * @param _blocks
110
+ */
111
+ async recordBlocks(..._blocks) { }
112
+ /**
113
+ * Get a known block header by hash
114
+ * Implement this method to enable block headers query caching
115
+ * @param _hash
116
+ */
117
+ async getBlockByHash(_hash) {
118
+ return;
119
+ }
120
+ /**
121
+ * Get a known block header by number
122
+ * Implement this method to enable block headers query caching
123
+ * @param _number
124
+ */
125
+ async getBlockByNumber(_number) {
126
+ return;
127
+ }
43
128
  }
@@ -15,8 +15,8 @@ export declare class MapLru<K, V> extends Map<K, V> {
15
15
  private readonly capacity;
16
16
  private readonly lru;
17
17
  constructor(capacity: number);
18
- access(key: K): void;
19
- get(key: K): V | undefined;
18
+ get(key: K): (V & ({} | null)) | undefined;
20
19
  set(key: K, value: V): this;
20
+ delete(key: K): boolean;
21
21
  }
22
22
  //# sourceMappingURL=memory.advanced.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.advanced.d.ts","sourceRoot":"","sources":["../../../src/client/cache/memory.advanced.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAU,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,8BAA8B,EAE/B,MAAM,4BAA4B,CAAC;AAIpC,MAAM,MAAM,UAAU,GAClB;IACE,KAAK;IACL,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC,CAAC;CAC1E,GACD,CAAC,IAAI,EAAE,IAAI,CAAC,GACZ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAEtB,wBAAgB,UAAU,CACxB,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GACzC,OAAO,CAgBT;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,UAAU,GAAG,SAAS,EACjC,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,UAAU,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GACzC,OAAO,CAkBT;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS,GACpC,OAAO,CAQT;AAED,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAClC,OAAO,CAYT;AAED,wBAAgB,UAAU,CACxB,aAAa,EAAE,8BAA8B,EAC7C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CA4CT;AAED,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAG7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAW;gBAEF,QAAQ,EAAE,MAAM;IAI7C,MAAM,CAAC,GAAG,EAAE,CAAC;IAYb,GAAG,CAAC,GAAG,EAAE,CAAC;IAKV,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;CAIrB"}
1
+ {"version":3,"file":"memory.advanced.d.ts","sourceRoot":"","sources":["../../../src/client/cache/memory.advanced.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAU,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,8BAA8B,EAE/B,MAAM,4BAA4B,CAAC;AAIpC,MAAM,MAAM,UAAU,GAClB;IACE,KAAK;IACL,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC,CAAC;CAC1E,GACD,CAAC,IAAI,EAAE,IAAI,CAAC,GACZ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAEtB,wBAAgB,UAAU,CACxB,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,OAAO,GAAG,SAAS,EAC/B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GACzC,OAAO,CAgBT;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,UAAU,GAAG,SAAS,EACjC,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,UAAU,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GACzC,OAAO,CAkBT;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,SAAS,GACpC,OAAO,CAQT;AAED,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAClC,OAAO,CAYT;AAED,wBAAgB,UAAU,CACxB,aAAa,EAAE,8BAA8B,EAC7C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CA4CT;AAED,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAG7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAW;gBAEF,QAAQ,EAAE,MAAM;IAI7C,GAAG,CAAC,GAAG,EAAE,CAAC;IAmBV,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAOpB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;CAYxB"}