@ckb-ccc/core 0.0.13-alpha.6 → 0.0.13-alpha.8

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 (71) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/ckb/transaction.d.ts +91 -1
  3. package/dist/ckb/transaction.d.ts.map +1 -1
  4. package/dist/ckb/transaction.js +118 -24
  5. package/dist/client/cache/cache.d.ts +29 -9
  6. package/dist/client/cache/cache.d.ts.map +1 -1
  7. package/dist/client/cache/cache.js +43 -1
  8. package/dist/client/cache/memory.d.ts +10 -6
  9. package/dist/client/cache/memory.d.ts.map +1 -1
  10. package/dist/client/cache/memory.js +49 -39
  11. package/dist/client/client.d.ts +10 -4
  12. package/dist/client/client.d.ts.map +1 -1
  13. package/dist/client/client.js +6 -5
  14. package/dist/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  15. package/dist/client/clientPublicMainnet.advanced.js +15 -0
  16. package/dist/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  17. package/dist/client/clientPublicTestnet.advanced.js +15 -0
  18. package/dist/client/clientTypes.d.ts +47 -4
  19. package/dist/client/clientTypes.d.ts.map +1 -1
  20. package/dist/client/clientTypes.js +26 -1
  21. package/dist/client/jsonRpc/index.d.ts +39 -1
  22. package/dist/client/jsonRpc/index.d.ts.map +1 -1
  23. package/dist/client/jsonRpc/index.js +63 -2
  24. package/dist/client/jsonRpc/transformers.d.ts.map +1 -1
  25. package/dist/client/jsonRpc/transformers.js +11 -4
  26. package/dist/fixedPoint/index.d.ts +3 -3
  27. package/dist/fixedPoint/index.js +3 -3
  28. package/dist/signer/signer/index.d.ts +3 -1
  29. package/dist/signer/signer/index.d.ts.map +1 -1
  30. package/dist/signer/signer/index.js +14 -0
  31. package/dist.commonjs/ckb/transaction.d.ts +91 -1
  32. package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
  33. package/dist.commonjs/ckb/transaction.js +121 -23
  34. package/dist.commonjs/client/cache/cache.d.ts +29 -9
  35. package/dist.commonjs/client/cache/cache.d.ts.map +1 -1
  36. package/dist.commonjs/client/cache/cache.js +45 -0
  37. package/dist.commonjs/client/cache/memory.d.ts +10 -6
  38. package/dist.commonjs/client/cache/memory.d.ts.map +1 -1
  39. package/dist.commonjs/client/cache/memory.js +49 -39
  40. package/dist.commonjs/client/client.d.ts +10 -4
  41. package/dist.commonjs/client/client.d.ts.map +1 -1
  42. package/dist.commonjs/client/client.js +6 -5
  43. package/dist.commonjs/client/clientPublicMainnet.advanced.d.ts.map +1 -1
  44. package/dist.commonjs/client/clientPublicMainnet.advanced.js +15 -0
  45. package/dist.commonjs/client/clientPublicTestnet.advanced.d.ts.map +1 -1
  46. package/dist.commonjs/client/clientPublicTestnet.advanced.js +15 -0
  47. package/dist.commonjs/client/clientTypes.d.ts +47 -4
  48. package/dist.commonjs/client/clientTypes.d.ts.map +1 -1
  49. package/dist.commonjs/client/clientTypes.js +33 -5
  50. package/dist.commonjs/client/jsonRpc/index.d.ts +39 -1
  51. package/dist.commonjs/client/jsonRpc/index.d.ts.map +1 -1
  52. package/dist.commonjs/client/jsonRpc/index.js +74 -13
  53. package/dist.commonjs/client/jsonRpc/transformers.d.ts.map +1 -1
  54. package/dist.commonjs/client/jsonRpc/transformers.js +55 -48
  55. package/dist.commonjs/fixedPoint/index.d.ts +3 -3
  56. package/dist.commonjs/fixedPoint/index.js +3 -3
  57. package/dist.commonjs/signer/signer/index.d.ts +3 -1
  58. package/dist.commonjs/signer/signer/index.d.ts.map +1 -1
  59. package/dist.commonjs/signer/signer/index.js +14 -0
  60. package/package.json +1 -1
  61. package/src/ckb/transaction.ts +170 -30
  62. package/src/client/cache/cache.ts +58 -13
  63. package/src/client/cache/memory.ts +60 -52
  64. package/src/client/client.ts +22 -5
  65. package/src/client/clientPublicMainnet.advanced.ts +17 -0
  66. package/src/client/clientPublicTestnet.advanced.ts +17 -0
  67. package/src/client/clientTypes.ts +76 -5
  68. package/src/client/jsonRpc/index.ts +105 -3
  69. package/src/client/jsonRpc/transformers.ts +11 -3
  70. package/src/fixedPoint/index.ts +3 -3
  71. package/src/signer/signer/index.ts +20 -1
@@ -268,12 +268,102 @@ export declare class Cell {
268
268
  */
269
269
  clone(): Cell;
270
270
  }
271
+ /**
272
+ * @public
273
+ */
274
+ export type EpochLike = [NumLike, NumLike, NumLike];
275
+ /**
276
+ * @public
277
+ */
278
+ export type Epoch = [Num, Num, Num];
279
+ /**
280
+ * @public
281
+ */
282
+ export declare function epochFrom(epochLike: EpochLike): Epoch;
283
+ /**
284
+ * @public
285
+ */
286
+ export declare function epochFromHex(hex: HexLike): Epoch;
287
+ /**
288
+ * @public
289
+ */
290
+ export declare function epochToHex(epochLike: EpochLike): Hex;
291
+ /**
292
+ * @public
293
+ */
294
+ export type SinceLike = {
295
+ relative: "absolute" | "relative";
296
+ metric: "blockNumber" | "epoch" | "timestamp";
297
+ value: NumLike;
298
+ } | NumLike;
299
+ /**
300
+ * @public
301
+ */
302
+ export declare class Since {
303
+ relative: "absolute" | "relative";
304
+ metric: "blockNumber" | "epoch" | "timestamp";
305
+ value: Num;
306
+ /**
307
+ * Creates an instance of Since.
308
+ *
309
+ * @param relative - Absolute or relative
310
+ * @param metric - The metric of since
311
+ * @param value - The value of since
312
+ */
313
+ constructor(relative: "absolute" | "relative", metric: "blockNumber" | "epoch" | "timestamp", value: Num);
314
+ /**
315
+ * Clone a Since.
316
+ *
317
+ * @returns A cloned Since instance.
318
+ *
319
+ * @example
320
+ * ```typescript
321
+ * const since1 = since0.clone();
322
+ * ```
323
+ */
324
+ clone(): Since;
325
+ /**
326
+ * Creates a Since instance from a SinceLike object.
327
+ *
328
+ * @param since - A SinceLike object or an instance of Since.
329
+ * @returns A Since instance.
330
+ *
331
+ * @example
332
+ * ```typescript
333
+ * const since = Since.from("0x1234567812345678");
334
+ * ```
335
+ */
336
+ static from(since: SinceLike): Since;
337
+ /**
338
+ * Converts the Since instance to num.
339
+ *
340
+ * @returns A num
341
+ *
342
+ * @example
343
+ * ```typescript
344
+ * const num = since.toNum();
345
+ * ```
346
+ */
347
+ toNum(): Num;
348
+ /**
349
+ * Creates a Since instance from a num-like value.
350
+ *
351
+ * @param numLike - The num-like value to convert.
352
+ * @returns A Since instance.
353
+ *
354
+ * @example
355
+ * ```typescript
356
+ * const since = Since.fromNum("0x0");
357
+ * ```
358
+ */
359
+ static fromNum(numLike: NumLike): Since;
360
+ }
271
361
  /**
272
362
  * @public
273
363
  */
274
364
  export type CellInputLike = {
275
365
  previousOutput: OutPointLike;
276
- since?: NumLike | null;
366
+ since?: SinceLike | NumLike | null;
277
367
  cellOutput?: CellOutputLike | null;
278
368
  outputData?: HexLike | null;
279
369
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAa,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAM1E,OAAO,EAAE,MAAM,EAAsB,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,GAAG,EACH,OAAO,EAKR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,KAAK,GAAG,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACnD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1C;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAgBrD;AAED;;;;;;;;;;;GAWG;AAEH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,KAAK,CAE1D;AAED;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AACF;;GAEG;AACH,qBAAa,QAAQ;IASV,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IATnB;;;;;OAKG;gBAGM,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,GAAG;IAGnB;;;;;;;;;OASG;IACH,KAAK,IAAI,QAAQ;IAIjB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ;IAO7C;;;;OAIG;IAEH,UAAU,IAAI,GAAG,CAAC,YAAY;IAO9B;;;;;;;;;OASG;IAEH,OAAO,IAAI,KAAK;IAIhB;;;;;;;;;;OAUG;IAEH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,QAAQ,GAAG,QAAQ;IAY3D;;;;;;;;;;OAUG;IACH,EAAE,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO;CAI/B;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B,CAAC;AACF;;GAEG;AACH,qBAAa,UAAU;IAUZ,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,CAAC;IAXd;;;;;;OAMG;gBAGM,QAAQ,EAAE,GAAG,EACb,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,oBAAQ;IAGtB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;;;;OASG;IACH,KAAK,IAAI,UAAU;IAInB;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,GAAG,UAAU;IAYnD;;;;OAIG;IAEH,UAAU,IAAI,GAAG,CAAC,cAAc;IAQhC;;;;;;;;;OASG;IAEH,OAAO,IAAI,KAAK;IAIhB;;;;;;;;;;OAUG;IAEH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,UAAU,GAAG,UAAU;CAYhE;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AACF;;GAEG;AACH,qBAAa,IAAI;IAUN,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,GAAG;IAXxB;;;;;;OAMG;gBAGM,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,GAAG;IAGxB;;;;;OAKG;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAYjC;;;;;;;;;OASG;IACH,KAAK,IAAI,IAAI;CAOd;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,YAAY,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B,CAAC;AACF;;GAEG;AACH,qBAAa,SAAS;IAWX,cAAc,EAAE,QAAQ;IACxB,KAAK,EAAE,GAAG;IACV,UAAU,CAAC;IACX,UAAU,CAAC;IAbpB;;;;;;;OAOG;gBAGM,cAAc,EAAE,QAAQ,EACxB,KAAK,EAAE,GAAG,EACV,UAAU,CAAC,wBAAY,EACvB,UAAU,CAAC,2BAAK;IAGzB;;;;;;;;;OASG;IACH,KAAK,IAAI,SAAS;IASlB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,SAAS;IAahD;;;;;;;;;OASG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD;;;;OAIG;IAEH,UAAU,IAAI,GAAG,CAAC,aAAa;IAO/B;;;;;;;;;OASG;IAEH,OAAO,IAAI,KAAK;IAIhB;;;;;;;;;;OAUG;IAEH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,SAAS,GAAG,SAAS;CAW9D;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AACF;;GAEG;AACH,qBAAa,OAAO;IAST,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,OAAO;IATzB;;;;;OAKG;gBAGM,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO;IAGzB;;;;;;;;;OASG;IAEH,KAAK,IAAI,OAAO;IAIhB;;;;;;;;;;;;;OAaG;IAEH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAW1C;;;;OAIG;IAEH,UAAU,IAAI,GAAG,CAAC,WAAW;IAO7B;;;;;;;;;OASG;IAEH,OAAO,IAAI,KAAK;IAIhB;;;;;;;;;;OAUG;IAEH,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,GAAG,OAAO;IAUlD;;;;;;;;;;OAUG;IACH,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;CAM9B;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B,CAAC;AACF;;GAEG;AACH,qBAAa,WAAW;IAUb,IAAI,CAAC;IACL,SAAS,CAAC;IACV,UAAU,CAAC;IAXpB;;;;;;OAMG;gBAGM,IAAI,CAAC,2BAAK,EACV,SAAS,CAAC,2BAAK,EACf,UAAU,CAAC,2BAAK;IAGzB;;;;;;;;;;;;;;OAcG;IAEH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,WAAW;IAYtD;;;;OAIG;IAEH,UAAU,IAAI,GAAG,CAAC,eAAe;IAQjC;;;;;;;;;OASG;IAEH,OAAO,IAAI,KAAK;IAIhB;;;;;;;;;;OAUG;IAEH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,CAAC,WAAW,GAAG,WAAW;CAYlE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,GAAG,GAAG,CAOvD;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,EACJ,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAC9C,IAAI,CAAC;IACT,WAAW,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAC9B,CAAC;AACF;;GAEG;AACH,qBAAa,WAAW;IAcb,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,OAAO,EAAE;IACnB,UAAU,EAAE,GAAG,EAAE;IACjB,MAAM,EAAE,SAAS,EAAE;IACnB,OAAO,EAAE,UAAU,EAAE;IACrB,WAAW,EAAE,GAAG,EAAE;IAClB,SAAS,EAAE,GAAG,EAAE;IAnBzB;;;;;;;;;;OAUG;gBAGM,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,UAAU,EAAE,GAAG,EAAE,EACjB,MAAM,EAAE,SAAS,EAAE,EACnB,OAAO,EAAE,UAAU,EAAE,EACrB,WAAW,EAAE,GAAG,EAAE,EAClB,SAAS,EAAE,GAAG,EAAE;IAGzB;;;;;;;;;OASG;IACH,MAAM,CAAC,OAAO,IAAI,WAAW;IAI7B;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,EAAE,eAAe;IAW5B;;;;;;;;;OASG;IACH,KAAK,IAAI,WAAW;IAYpB;;;;;;;;;;;;;;;;;;OAkBG;IAEH,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,GAAG,WAAW;IAsC7C;;;;;;;;;;;;OAYG;IAEH,MAAM,CAAC,iBAAiB,CACtB,QAAQ,EAAE,4BAA4B,GACrC,WAAW;IAuBd,SAAS,IAAI,MAAM;IASnB;;;;;;;;;OASG;IACH,UAAU,IAAI,KAAK;IAanB;;;;;;;;;OASG;IACH,OAAO,IAAI,KAAK;IAgBhB;;;;;;;;;OASG;IAEH,IAAI,IAAI,GAAG;IAIX;;;;;;;;;;OAUG;IAEH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAM3D;;;;;;;;;;;;;;;;OAgBG;IACG,eAAe,CACnB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAwB,GAC/B,OAAO,CAAC;QAAE,OAAO,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAwC1D;;;;;;;;;;;OAWG;IACG,sBAAsB,CAC1B,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC,EACvD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAmB9B;;;;;;;;;;;OAWG;IACG,oBAAoB,CACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAgB9B;;;;;;;;;;;OAWG;IACG,wBAAwB,CAC5B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAgB9B;;;;;;;;;OASG;IACH,WAAW,CAAC,GAAG,YAAY,EAAE,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,EAAE,GAAG,IAAI;IAWnE;;;;;;;;;OASG;IACH,kBAAkB,CAAC,GAAG,YAAY,EAAE,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,EAAE,GAAG,IAAI;IAW1E;;;;;;;;;;OAUG;IACG,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,GAAG,gBAAgB,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GAC3D,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;;;;OAUG;IACG,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,GAAG,OAAO,EAAE,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC,EAAE,GAC1C,OAAO,CAAC,IAAI,CAAC;IAahB;;;;;;;;;;OAUG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAatD;;;;;;;;;;OAUG;IACH,SAAS,CACP,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,GAC1C,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,EAC3C,UAAU,GAAE,OAAc,GACzB,IAAI;IAcP;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAOxD;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAa3D;;;;;;;;;;;;OAYG;IACG,wBAAwB,CAC5B,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAWV,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAcrD,kBAAkB,IAAI,GAAG;IAOnB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBzE,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,GAAG;IAUrC,cAAc,CAAC,CAAC,EACpB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oCAAoC,EAC5C,WAAW,EAAE,CACX,GAAG,EAAE,CAAC,EACN,CAAC,EAAE,IAAI,EACP,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,IAAI,EAAE,KACV,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,EAC3C,IAAI,EAAE,CAAC,GACN,OAAO,CAAC;QACT,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,CAAC,CAAC;KACjB,CAAC;IA0DI,wBAAwB,CAC5B,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,OAAO,EACvB,MAAM,CAAC,EAAE,oCAAoC,GAC5C,OAAO,CAAC,MAAM,CAAC;IA8BZ,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,oCAAoC,GAC5C,OAAO,CAAC,MAAM,CAAC;IAcZ,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IA8B1E,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG;IAK5B,WAAW,CACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EACtE,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,oCAAoC,GAC5C,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAyE7B,uBAAuB,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,oCAAoC,GAC5C,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAoBvB,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,oCAAoC,GAC5C,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAM7B,yBAAyB,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,oCAAoC,GAC5C,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAe9B"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/ckb/transaction.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Transaction = exports.udtBalanceFrom = exports.WitnessArgs = exports.CellDep = exports.CellInput = exports.Cell = exports.CellOutput = exports.OutPoint = exports.depTypeFromBytes = exports.depTypeToBytes = exports.depTypeFrom = void 0;
26
+ exports.Transaction = exports.udtBalanceFrom = exports.WitnessArgs = exports.CellDep = exports.CellInput = exports.Since = exports.epochToHex = exports.epochFromHex = exports.epochFrom = exports.Cell = exports.CellOutput = exports.OutPoint = exports.depTypeFromBytes = exports.depTypeToBytes = exports.depTypeFrom = void 0;
27
27
  const index_js_1 = require("../bytes/index.js");
28
28
  const index_js_2 = require("../fixedPoint/index.js");
29
29
  const index_js_3 = require("../hasher/index.js");
@@ -340,6 +340,117 @@ class Cell {
340
340
  }
341
341
  }
342
342
  exports.Cell = Cell;
343
+ /**
344
+ * @public
345
+ */
346
+ function epochFrom(epochLike) {
347
+ return [(0, index_js_5.numFrom)(epochLike[0]), (0, index_js_5.numFrom)(epochLike[1]), (0, index_js_5.numFrom)(epochLike[2])];
348
+ }
349
+ exports.epochFrom = epochFrom;
350
+ /**
351
+ * @public
352
+ */
353
+ function epochFromHex(hex) {
354
+ const bytes = (0, index_js_1.bytesFrom)((0, index_js_4.hexFrom)(hex));
355
+ return [
356
+ (0, index_js_5.numFrom)(bytes.slice(4, 7)),
357
+ (0, index_js_5.numFrom)(bytes.slice(2, 4)),
358
+ (0, index_js_5.numFrom)(bytes.slice(0, 2)),
359
+ ];
360
+ }
361
+ exports.epochFromHex = epochFromHex;
362
+ /**
363
+ * @public
364
+ */
365
+ function epochToHex(epochLike) {
366
+ const epoch = epochFrom(epochLike);
367
+ return (0, index_js_4.hexFrom)((0, index_js_1.bytesConcat)((0, index_js_5.numBeToBytes)(epoch[2], 2), (0, index_js_5.numBeToBytes)(epoch[1], 2), (0, index_js_5.numBeToBytes)(epoch[0], 3)));
368
+ }
369
+ exports.epochToHex = epochToHex;
370
+ /**
371
+ * @public
372
+ */
373
+ class Since {
374
+ /**
375
+ * Creates an instance of Since.
376
+ *
377
+ * @param relative - Absolute or relative
378
+ * @param metric - The metric of since
379
+ * @param value - The value of since
380
+ */
381
+ constructor(relative, metric, value) {
382
+ this.relative = relative;
383
+ this.metric = metric;
384
+ this.value = value;
385
+ }
386
+ /**
387
+ * Clone a Since.
388
+ *
389
+ * @returns A cloned Since instance.
390
+ *
391
+ * @example
392
+ * ```typescript
393
+ * const since1 = since0.clone();
394
+ * ```
395
+ */
396
+ clone() {
397
+ return new Since(this.relative, this.metric, this.value);
398
+ }
399
+ /**
400
+ * Creates a Since instance from a SinceLike object.
401
+ *
402
+ * @param since - A SinceLike object or an instance of Since.
403
+ * @returns A Since instance.
404
+ *
405
+ * @example
406
+ * ```typescript
407
+ * const since = Since.from("0x1234567812345678");
408
+ * ```
409
+ */
410
+ static from(since) {
411
+ if (since instanceof Since) {
412
+ return since;
413
+ }
414
+ if (typeof since === "object" && "relative" in since) {
415
+ return new Since(since.relative, since.metric, (0, index_js_5.numFrom)(since.value));
416
+ }
417
+ return Since.fromNum(since);
418
+ }
419
+ /**
420
+ * Converts the Since instance to num.
421
+ *
422
+ * @returns A num
423
+ *
424
+ * @example
425
+ * ```typescript
426
+ * const num = since.toNum();
427
+ * ```
428
+ */
429
+ toNum() {
430
+ const flag = ((this.relative === "absolute" ? 0 : 1) << 7) |
431
+ ({ blockNumber: 0, epoch: 1, timestamp: 2 }[this.metric] << 5);
432
+ return (0, index_js_5.numFrom)((0, index_js_1.bytesConcat)([flag], (0, index_js_5.numLeToBytes)(this.value, 7)));
433
+ }
434
+ /**
435
+ * Creates a Since instance from a num-like value.
436
+ *
437
+ * @param numLike - The num-like value to convert.
438
+ * @returns A Since instance.
439
+ *
440
+ * @example
441
+ * ```typescript
442
+ * const since = Since.fromNum("0x0");
443
+ * ```
444
+ */
445
+ static fromNum(numLike) {
446
+ const bytes = (0, index_js_5.numBeToBytes)(numLike, 8);
447
+ const relative = bytes[0] >> 7 === 0 ? "absolute" : "relative";
448
+ const metric = ["blockNumber", "epoch", "timestamp"][(bytes[0] >> 5) & 3];
449
+ const value = (0, index_js_5.numLeFromBytes)(bytes.slice(1, 8));
450
+ return new Since(relative, metric, value);
451
+ }
452
+ }
453
+ exports.Since = Since;
343
454
  /**
344
455
  * @public
345
456
  */
@@ -389,7 +500,7 @@ class CellInput {
389
500
  if (cellInput instanceof CellInput) {
390
501
  return cellInput;
391
502
  }
392
- return new CellInput(OutPoint.from(cellInput.previousOutput), (0, index_js_5.numFrom)(cellInput.since ?? 0), (0, index_js_6.apply)(CellOutput.from, cellInput.cellOutput), (0, index_js_6.apply)(index_js_4.hexFrom, cellInput.outputData));
503
+ return new CellInput(OutPoint.from(cellInput.previousOutput), Since.from(cellInput.since ?? 0).toNum(), (0, index_js_6.apply)(CellOutput.from, cellInput.cellOutput), (0, index_js_6.apply)(index_js_4.hexFrom, cellInput.outputData));
393
504
  }
394
505
  /**
395
506
  * Complete extra infos in the input. Like the output of the out point.
@@ -1192,36 +1303,23 @@ class Transaction {
1192
1303
  }, (0, index_js_5.numFrom)(0));
1193
1304
  }
1194
1305
  async completeInputs(from, filter, accumulator, init) {
1195
- const scripts = (await from.getAddressObjs()).map(({ script }) => script);
1196
1306
  const collectedCells = [];
1197
1307
  let acc = init;
1198
1308
  let fulfilled = false;
1199
- for (const script of scripts) {
1200
- for await (const cell of from.client.findCellsByCollectableSearchKey({
1201
- script,
1202
- scriptType: "lock",
1203
- filter,
1204
- scriptSearchMode: "exact",
1205
- withData: true,
1206
- })) {
1207
- if (this.inputs.some(({ previousOutput }) => previousOutput.eq(cell.outPoint))) {
1208
- continue;
1209
- }
1210
- const i = collectedCells.push(cell);
1211
- const next = await Promise.resolve(accumulator(acc, cell, i - 1, collectedCells));
1212
- if (next === undefined) {
1213
- fulfilled = true;
1214
- break;
1215
- }
1216
- acc = next;
1309
+ for await (const cell of from.findCells(filter, true)) {
1310
+ if (this.inputs.some(({ previousOutput }) => previousOutput.eq(cell.outPoint))) {
1311
+ continue;
1217
1312
  }
1218
- if (fulfilled) {
1313
+ const i = collectedCells.push(cell);
1314
+ const next = await Promise.resolve(accumulator(acc, cell, i - 1, collectedCells));
1315
+ if (next === undefined) {
1316
+ fulfilled = true;
1219
1317
  break;
1220
1318
  }
1319
+ acc = next;
1221
1320
  }
1222
1321
  this.inputs.push(...collectedCells.map(({ outPoint, outputData, cellOutput }) => CellInput.from({
1223
1322
  previousOutput: outPoint,
1224
- since: 0,
1225
1323
  outputData,
1226
1324
  cellOutput,
1227
1325
  })));
@@ -1,15 +1,35 @@
1
1
  import { Cell, CellLike, OutPointLike, Transaction, TransactionLike } from "../../ckb/index.js";
2
2
  import { HexLike } from "../../hex/index.js";
3
3
  import { ClientCollectableSearchKeyLike } from "../clientTypes.advanced.js";
4
- export interface ClientCache {
5
- markUsable(...cellLikes: (CellLike | CellLike[])[]): Promise<void>;
6
- markUnusable(...outPointLike: (OutPointLike | OutPointLike[])[]): Promise<void>;
4
+ export declare abstract class ClientCache {
5
+ abstract markUsable(...cellLikes: (CellLike | CellLike[])[]): Promise<void>;
6
+ abstract markUnusable(...outPointLike: (OutPointLike | OutPointLike[])[]): Promise<void>;
7
7
  markTransactions(...transactionLike: (TransactionLike | TransactionLike[])[]): Promise<void>;
8
- isUnusable(outPointLike: OutPointLike): Promise<boolean>;
9
- recordTransactions(...transactions: (TransactionLike | TransactionLike[])[]): Promise<void>;
10
- getTransaction(txHash: HexLike): Promise<Transaction | undefined>;
11
- recordCells(...cells: (CellLike | CellLike[])[]): Promise<void>;
12
- getCell(outPoint: OutPointLike): Promise<Cell | undefined>;
13
- findCells(filter: ClientCollectableSearchKeyLike): AsyncGenerator<Cell>;
8
+ abstract clear(): Promise<void>;
9
+ abstract findCells(filter: ClientCollectableSearchKeyLike): AsyncGenerator<Cell>;
10
+ /**
11
+ * Get a known cell by out point
12
+ * @param _outPoint
13
+ */
14
+ abstract getCell(_outPoint: OutPointLike): Promise<Cell | undefined>;
15
+ abstract isUnusable(outPointLike: OutPointLike): Promise<boolean>;
16
+ /**
17
+ * Record known transactions
18
+ * Implement this method to enable transactions query caching
19
+ * @param _transactions
20
+ */
21
+ recordTransactions(..._transactions: (TransactionLike | TransactionLike[])[]): Promise<void>;
22
+ /**
23
+ * Get a known transaction by hash
24
+ * Implement this method to enable transactions query caching
25
+ * @param _txHash
26
+ */
27
+ getTransaction(_txHash: HexLike): Promise<Transaction | undefined>;
28
+ /**
29
+ * Record known cells
30
+ * Implement this method to enable cells query caching
31
+ * @param _cells
32
+ */
33
+ recordCells(..._cells: (CellLike | CellLike[])[]): Promise<void>;
14
34
  }
15
35
  //# 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,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,GAAG,SAAS,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,YAAY,CACV,GAAG,YAAY,EAAE,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC,EAAE,GACjD,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,gBAAgB,CACd,GAAG,eAAe,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GAC1D,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzD,kBAAkB,CAChB,GAAG,YAAY,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GACvD,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAElE,WAAW,CAAC,GAAG,KAAK,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAC3D,SAAS,CAAC,MAAM,EAAE,8BAA8B,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;CACzE"}
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,2 +1,47 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientCache = void 0;
4
+ const index_js_1 = require("../../ckb/index.js");
5
+ class ClientCache {
6
+ async markTransactions(...transactionLike) {
7
+ await Promise.all([
8
+ this.recordTransactions(...transactionLike),
9
+ ...transactionLike.flat().map((transactionLike) => {
10
+ const tx = index_js_1.Transaction.from(transactionLike);
11
+ const txHash = tx.hash();
12
+ return Promise.all([
13
+ ...tx.inputs.map((i) => this.markUnusable(i.previousOutput)),
14
+ ...tx.outputs.map((o, i) => this.markUsable({
15
+ cellOutput: o,
16
+ outputData: tx.outputsData[i],
17
+ outPoint: {
18
+ txHash,
19
+ index: i,
20
+ },
21
+ })),
22
+ ]);
23
+ }),
24
+ ]);
25
+ }
26
+ /**
27
+ * Record known transactions
28
+ * Implement this method to enable transactions query caching
29
+ * @param _transactions
30
+ */
31
+ async recordTransactions(..._transactions) { }
32
+ /**
33
+ * Get a known transaction by hash
34
+ * Implement this method to enable transactions query caching
35
+ * @param _txHash
36
+ */
37
+ async getTransaction(_txHash) {
38
+ return;
39
+ }
40
+ /**
41
+ * Record known cells
42
+ * Implement this method to enable cells query caching
43
+ * @param _cells
44
+ */
45
+ async recordCells(..._cells) { }
46
+ }
47
+ exports.ClientCache = ClientCache;
@@ -2,19 +2,23 @@ import { Cell, CellLike, OutPointLike, Transaction, TransactionLike } from "../.
2
2
  import { HexLike } from "../../hex/index.js";
3
3
  import { ClientCollectableSearchKeyLike } from "../clientTypes.advanced.js";
4
4
  import { ClientCache } from "./cache.js";
5
- export declare class ClientCacheMemory implements ClientCache {
6
- private readonly unusableOutPoints;
7
- private readonly usableCells;
5
+ export declare class ClientCacheMemory extends ClientCache {
6
+ /**
7
+ * OutPoint => [isLive, Cell | OutPoint]
8
+ */
9
+ private readonly cells;
10
+ /**
11
+ * TX Hash => Transaction
12
+ */
8
13
  private readonly knownTransactions;
9
- private readonly knownCells;
10
14
  markUsable(...cellLikes: (CellLike | CellLike[])[]): Promise<void>;
11
15
  markUnusable(...outPointLikes: (OutPointLike | OutPointLike[])[]): Promise<void>;
12
- markTransactions(...transactionLike: (TransactionLike | TransactionLike[])[]): Promise<void>;
16
+ clear(): Promise<void>;
13
17
  findCells(keyLike: ClientCollectableSearchKeyLike): AsyncGenerator<Cell>;
18
+ getCell(outPointLike: OutPointLike): Promise<Cell | undefined>;
14
19
  isUnusable(outPointLike: OutPointLike): Promise<boolean>;
15
20
  recordTransactions(...transactions: (TransactionLike | TransactionLike[])[]): Promise<void>;
16
21
  getTransaction(txHashLike: HexLike): Promise<Transaction | undefined>;
17
22
  recordCells(...cells: (CellLike | CellLike[])[]): Promise<void>;
18
- getCell(outPointLike: OutPointLike): Promise<Cell | undefined>;
19
23
  }
20
24
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/client/cache/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,QAAQ,EAER,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEnC,UAAU,CAAC,GAAG,SAAS,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAelE,YAAY,CAChB,GAAG,aAAa,EAAE,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC,EAAE,GAClD,OAAO,CAAC,IAAI,CAAC;IAYV,gBAAgB,CACpB,GAAG,eAAe,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GAC1D,OAAO,CAAC,IAAI,CAAC;IAyBT,SAAS,CACd,OAAO,EAAE,8BAA8B,GACtC,cAAc,CAAC,IAAI,CAAC;IAUjB,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAKxD,kBAAkB,CACtB,GAAG,YAAY,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GACvD,OAAO,CAAC,IAAI,CAAC;IAGV,cAAc,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAKrE,WAAW,CAAC,GAAG,KAAK,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAG/D,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;CAIrE"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/client/cache/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,QAAQ,EAER,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,qBAAa,iBAAkB,SAAQ,WAAW;IAChD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CASR;IAEd;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IAEnE,UAAU,CAAC,GAAG,SAAS,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASlE,YAAY,CAChB,GAAG,aAAa,EAAE,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC,EAAE,GAClD,OAAO,CAAC,IAAI,CAAC;IAcV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,SAAS,CACd,OAAO,EAAE,8BAA8B,GACtC,cAAc,CAAC,IAAI,CAAC;IAYjB,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAS9D,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD,kBAAkB,CACtB,GAAG,YAAY,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GACvD,OAAO,CAAC,IAAI,CAAC;IAMV,cAAc,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAKrE,WAAW,CAAC,GAAG,KAAK,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAWtE"}
@@ -3,75 +3,85 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClientCacheMemory = void 0;
4
4
  const index_js_1 = require("../../ckb/index.js");
5
5
  const index_js_2 = require("../../hex/index.js");
6
+ const cache_js_1 = require("./cache.js");
6
7
  const memory_advanced_js_1 = require("./memory.advanced.js");
7
- class ClientCacheMemory {
8
+ class ClientCacheMemory extends cache_js_1.ClientCache {
8
9
  constructor() {
9
- this.unusableOutPoints = [];
10
- this.usableCells = [];
11
- this.knownTransactions = [];
12
- this.knownCells = [];
10
+ super(...arguments);
11
+ /**
12
+ * OutPoint => [isLive, Cell | OutPoint]
13
+ */
14
+ this.cells = new Map();
15
+ /**
16
+ * TX Hash => Transaction
17
+ */
18
+ this.knownTransactions = new Map();
13
19
  }
14
20
  async markUsable(...cellLikes) {
15
21
  cellLikes.flat().forEach((cellLike) => {
16
22
  const cell = index_js_1.Cell.from(cellLike).clone();
17
- this.usableCells.push(cell);
18
- this.knownCells.push(cell);
19
- const index = this.unusableOutPoints.findIndex((o) => cell.outPoint.eq(o));
20
- if (index !== -1) {
21
- this.unusableOutPoints.splice(index, 1);
22
- }
23
+ const outPointStr = (0, index_js_2.hexFrom)(cell.outPoint.toBytes());
24
+ this.cells.set(outPointStr, [true, cell]);
23
25
  });
24
26
  }
25
27
  async markUnusable(...outPointLikes) {
26
28
  outPointLikes.flat().forEach((outPointLike) => {
27
29
  const outPoint = index_js_1.OutPoint.from(outPointLike);
28
- this.unusableOutPoints.push(outPoint.clone());
29
- const index = this.usableCells.findIndex((c) => c.outPoint.eq(outPoint));
30
- if (index !== -1) {
31
- this.usableCells.splice(index, 1);
30
+ const outPointStr = (0, index_js_2.hexFrom)(outPoint.toBytes());
31
+ const existed = this.cells.get(outPointStr);
32
+ if (existed) {
33
+ existed[0] = false;
34
+ return;
32
35
  }
36
+ this.cells.set(outPointStr, [false, { outPoint }]);
33
37
  });
34
38
  }
35
- async markTransactions(...transactionLike) {
36
- await Promise.all(transactionLike.flat().map(async (transactionLike) => {
37
- const tx = index_js_1.Transaction.from(transactionLike);
38
- const txHash = tx.hash();
39
- await Promise.all(tx.inputs.map((i) => this.markUnusable(i.previousOutput)));
40
- await Promise.all(tx.outputs.map((o, i) => this.markUsable({
41
- cellOutput: o,
42
- outputData: tx.outputsData[i],
43
- outPoint: {
44
- txHash,
45
- index: i,
46
- },
47
- })));
48
- }));
39
+ async clear() {
40
+ for (const val of this.cells.values()) {
41
+ val[0] = undefined;
42
+ }
49
43
  }
50
44
  async *findCells(keyLike) {
51
- for (const cell of this.usableCells) {
45
+ for (const [isLive, cell] of this.cells.values()) {
46
+ if (!isLive) {
47
+ continue;
48
+ }
52
49
  if (!(0, memory_advanced_js_1.filterCell)(keyLike, cell)) {
53
50
  continue;
54
51
  }
55
- yield cell;
52
+ yield cell.clone();
53
+ }
54
+ }
55
+ async getCell(outPointLike) {
56
+ const outPoint = index_js_1.OutPoint.from(outPointLike);
57
+ const cell = this.cells.get((0, index_js_2.hexFrom)(outPoint.toBytes()))?.[1];
58
+ if (cell && cell.cellOutput && cell.outputData) {
59
+ return index_js_1.Cell.from(cell.clone());
56
60
  }
57
61
  }
58
62
  async isUnusable(outPointLike) {
59
63
  const outPoint = index_js_1.OutPoint.from(outPointLike);
60
- return this.unusableOutPoints.find((o) => o.eq(outPoint)) !== undefined;
64
+ return !(this.cells.get((0, index_js_2.hexFrom)(outPoint.toBytes()))?.[0] ?? true);
61
65
  }
62
66
  async recordTransactions(...transactions) {
63
- this.knownTransactions.push(...transactions.flat().map(index_js_1.Transaction.from));
67
+ transactions.flat().map((txLike) => {
68
+ const tx = index_js_1.Transaction.from(txLike);
69
+ this.knownTransactions.set(tx.hash(), tx);
70
+ });
64
71
  }
65
72
  async getTransaction(txHashLike) {
66
73
  const txHash = (0, index_js_2.hexFrom)(txHashLike);
67
- return this.knownTransactions.find((tx) => tx.hash() === txHash);
74
+ return this.knownTransactions.get(txHash)?.clone();
68
75
  }
69
76
  async recordCells(...cells) {
70
- this.knownCells.push(...cells.flat().map(index_js_1.Cell.from));
71
- }
72
- async getCell(outPointLike) {
73
- const outPoint = index_js_1.OutPoint.from(outPointLike);
74
- return this.knownCells.find((cell) => cell.outPoint.eq(outPoint));
77
+ cells.flat().map((cellLike) => {
78
+ const cell = index_js_1.Cell.from(cellLike);
79
+ const outPointStr = (0, index_js_2.hexFrom)(cell.outPoint.toBytes());
80
+ if (this.cells.get(outPointStr)) {
81
+ return;
82
+ }
83
+ this.cells.set(outPointStr, [undefined, cell]);
84
+ });
75
85
  }
76
86
  }
77
87
  exports.ClientCacheMemory = ClientCacheMemory;
@@ -3,7 +3,7 @@ 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 { ClientBlock, ClientFindCellsResponse, ClientFindTransactionsGroupedResponse, ClientFindTransactionsResponse, ClientIndexerSearchKeyLike, ClientIndexerSearchKeyTransactionLike, ClientTransactionResponse, OutputsValidator } from "./clientTypes.js";
6
+ import { ClientBlock, ClientBlockHeader, ClientFindCellsResponse, ClientFindTransactionsGroupedResponse, ClientFindTransactionsResponse, ClientIndexerSearchKeyLike, ClientIndexerSearchKeyTransactionLike, ClientTransactionResponse, OutputsValidator } from "./clientTypes.js";
7
7
  /**
8
8
  * @public
9
9
  */
@@ -20,7 +20,8 @@ export declare enum KnownScript {
20
20
  NostrLock = "NostrLock",
21
21
  UniqueType = "UniqueType",
22
22
  SingleUseLock = "SingleUseLock",
23
- OutputTypeProxyLock = "OutputTypeProxyLock"
23
+ OutputTypeProxyLock = "OutputTypeProxyLock",
24
+ NervosDao = "NervosDao"
24
25
  }
25
26
  /**
26
27
  * @public
@@ -52,21 +53,26 @@ export declare abstract class Client {
52
53
  cellDeps: CellDepInfo[];
53
54
  }>;
54
55
  abstract getTip(): Promise<Num>;
56
+ abstract getTipHeader(verbosity?: number | null): Promise<ClientBlockHeader>;
55
57
  abstract getBlockByNumber(blockNumber: NumLike, verbosity?: number | null, withCycles?: boolean | null): Promise<ClientBlock | undefined>;
56
58
  abstract getBlockByHash(blockHash: HexLike, verbosity?: number | null, withCycles?: boolean | null): Promise<ClientBlock | undefined>;
59
+ abstract getHeaderByNumber(blockNumber: NumLike, verbosity?: number | null): Promise<ClientBlockHeader | undefined>;
60
+ abstract getHeaderByHash(blockHash: HexLike, verbosity?: number | null): Promise<ClientBlockHeader | undefined>;
61
+ abstract estimateCycles(transaction: TransactionLike): Promise<Num>;
62
+ abstract sendTransactionDry(transaction: TransactionLike, validator?: OutputsValidator): Promise<Num>;
57
63
  abstract sendTransactionNoCache(transaction: TransactionLike, validator?: OutputsValidator): Promise<Hex>;
58
64
  abstract getTransactionNoCache(txHash: HexLike): Promise<ClientTransactionResponse | undefined>;
59
65
  getCell(outPointLike: OutPointLike): Promise<Cell | undefined>;
60
66
  abstract findCellsPagedNoCache(key: ClientIndexerSearchKeyLike, order?: "asc" | "desc", limit?: NumLike, after?: string): Promise<ClientFindCellsResponse>;
61
67
  findCellsPaged(key: ClientIndexerSearchKeyLike, order?: "asc" | "desc", limit?: NumLike, after?: string): Promise<ClientFindCellsResponse>;
62
- findCells(key: ClientIndexerSearchKeyLike, order?: "asc" | "desc", limit?: number): AsyncGenerator<Cell>;
68
+ findCellsOnChin(key: ClientIndexerSearchKeyLike, order?: "asc" | "desc", limit?: number): AsyncGenerator<Cell>;
63
69
  /**
64
70
  * Find cells by search key designed for collectable cells.
65
71
  *
66
72
  * @param keyLike - The search key.
67
73
  * @returns A async generator for yielding cells.
68
74
  */
69
- findCellsByCollectableSearchKey(keyLike: ClientCollectableSearchKeyLike, order?: "asc" | "desc", limit?: number): AsyncGenerator<Cell>;
75
+ findCells(keyLike: ClientCollectableSearchKeyLike, order?: "asc" | "desc", limit?: number): AsyncGenerator<Cell>;
70
76
  findCellsByLock(lock: ScriptLike, type?: ScriptLike | null, withData?: boolean, order?: "asc" | "desc", limit?: number): AsyncGenerator<Cell>;
71
77
  findCellsByType(type: ScriptLike, withData?: boolean, order?: "asc" | "desc", limit?: number): AsyncGenerator<Cell>;
72
78
  findSingletonCellByType(type: ScriptLike, withData?: boolean): Promise<Cell | undefined>;