@ckb-ccc/core 1.9.0 → 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 +25 -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 +145 -1
  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 +146 -2
  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 +164 -1
  81. package/src/client/clientTypes.advanced.ts +0 -1
  82. package/src/client/knownScript.ts +5 -0
@@ -0,0 +1,15 @@
1
+ import { Num, NumLike } from "../num/index.js";
2
+ import { Script, ScriptLike } from "./script.js";
3
+ export declare class ErrorTransactionInsufficientCapacity extends Error {
4
+ readonly amount: Num;
5
+ readonly isForChange: boolean;
6
+ constructor(amountLike: NumLike, reason?: {
7
+ isForChange?: boolean;
8
+ });
9
+ }
10
+ export declare class ErrorTransactionInsufficientCoin extends Error {
11
+ readonly amount: Num;
12
+ readonly type: Script;
13
+ constructor(amountLike: NumLike, typeLike: ScriptLike);
14
+ }
15
+ //# sourceMappingURL=transactionErrors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionErrors.d.ts","sourceRoot":"","sources":["../../src/ckb/transactionErrors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAW,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEjD,qBAAa,oCAAqC,SAAQ,KAAK;IAC7D,SAAgB,MAAM,EAAE,GAAG,CAAC;IAC5B,SAAgB,WAAW,EAAE,OAAO,CAAC;gBAGnC,UAAU,EAAE,OAAO,EACnB,MAAM,CAAC,EAAE;QACP,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;CAUJ;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,SAAgB,MAAM,EAAE,GAAG,CAAC;IAC5B,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEjB,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU;CAOtD"}
@@ -0,0 +1,21 @@
1
+ import { fixedPointToString } from "../fixedPoint/index.js";
2
+ import { numFrom } from "../num/index.js";
3
+ import { Script } from "./script.js";
4
+ export class ErrorTransactionInsufficientCapacity extends Error {
5
+ constructor(amountLike, reason) {
6
+ const amount = numFrom(amountLike);
7
+ const isForChange = reason?.isForChange ?? false;
8
+ super(`Insufficient CKB, need ${fixedPointToString(amount)} extra CKB${isForChange ? " for the change cell" : ""}`);
9
+ this.amount = amount;
10
+ this.isForChange = isForChange;
11
+ }
12
+ }
13
+ export class ErrorTransactionInsufficientCoin extends Error {
14
+ constructor(amountLike, typeLike) {
15
+ const amount = numFrom(amountLike);
16
+ const type = Script.from(typeLike);
17
+ super(`Insufficient coin, need ${amount} extra coin`);
18
+ this.amount = amount;
19
+ this.type = type;
20
+ }
21
+ }
@@ -87,5 +87,12 @@ export declare abstract class ClientCache {
87
87
  * @param _number
88
88
  */
89
89
  getBlockByNumber(_number: NumLike): Promise<ClientBlock | undefined>;
90
+ /**
91
+ * Checks if a block header is considered confirmed.
92
+ * The default implementation compares the header's timestamp against the current time
93
+ * and a configured confirmation time. Override this method for custom confirmation logic.
94
+ * @param header
95
+ */
96
+ hasHeaderConfirmed(header: ClientBlockHeader): boolean;
90
97
  }
91
98
  //# 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,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,iBAAiB,CACxB,GAAG,SAAS,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GACtC,OAAO,CAAC,IAAI,CAAC;IACV,UAAU,CAAC,GAAG,SAAS,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxE,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;IA4BhB,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAChB,MAAM,EAAE,8BAA8B,GACrC,cAAc,CAAC,IAAI,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAMjE;;;;OAIG;IACG,WAAW,CAAC,GAAG,MAAM,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IACtE;;;;OAIG;IACG,OAAO,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAIjE;;;;OAIG;IACG,0BAA0B,CAC9B,GAAG,aAAa,EAAE,CACd,6BAA6B,GAC7B,6BAA6B,EAAE,CAClC,EAAE,GACF,OAAO,CAAC,IAAI,CAAC;IAChB;;;;OAIG;IACG,sBAAsB,CAC1B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAGjD;;;OAGG;IACG,kBAAkB,CACtB,GAAG,YAAY,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GACvD,OAAO,CAAC,IAAI,CAAC;IAQhB;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAIvE;;;;OAIG;IACG,aAAa,CACjB,GAAG,QAAQ,EAAE,CAAC,qBAAqB,GAAG,qBAAqB,EAAE,CAAC,EAAE,GAC/D,OAAO,CAAC,IAAI,CAAC;IAChB;;;;OAIG;IACG,eAAe,CACnB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAGzC;;;;OAIG;IACG,iBAAiB,CACrB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAIzC;;;;OAIG;IACG,YAAY,CAChB,GAAG,OAAO,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GAClD,OAAO,CAAC,IAAI,CAAC;IAChB;;;;OAIG;IACG,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAGtE;;;;OAIG;IACG,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAG3E"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/client/cache/cache.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { Transaction, } from "../../ckb/index.js";
2
+ import { numFrom } from "../../num/index.js";
3
+ import { DEFAULT_CONFIRMED_BLOCK_TIME } from "./memory.advanced.js";
2
4
  /**
3
5
  * @public
4
6
  * The ClientCache class is mainly designed for chained transactions.
@@ -125,4 +127,13 @@ export class ClientCache {
125
127
  async getBlockByNumber(_number) {
126
128
  return;
127
129
  }
130
+ /**
131
+ * Checks if a block header is considered confirmed.
132
+ * The default implementation compares the header's timestamp against the current time
133
+ * and a configured confirmation time. Override this method for custom confirmation logic.
134
+ * @param header
135
+ */
136
+ hasHeaderConfirmed(header) {
137
+ return (numFrom(Date.now()) - header.timestamp >= DEFAULT_CONFIRMED_BLOCK_TIME);
138
+ }
128
139
  }
@@ -2,6 +2,7 @@ import { Cell, CellLike, ScriptLike } from "../../ckb/index.js";
2
2
  import { HexLike } from "../../hex/index.js";
3
3
  import { NumLike } from "../../num/index.js";
4
4
  import { ClientCollectableSearchKeyLike } from "../clientTypes.advanced.js";
5
+ export declare const DEFAULT_CONFIRMED_BLOCK_TIME: bigint;
5
6
  export type CellRecord = [
6
7
  false,
7
8
  Pick<Cell, "outPoint"> & Partial<Pick<Cell, "cellOutput" | "outputData">>
@@ -11,12 +12,44 @@ export declare function filterScript(valueLike: ScriptLike | undefined, filterLi
11
12
  export declare function filterNumByRange(lengthLike: NumLike, range: [NumLike, NumLike] | undefined): boolean;
12
13
  export declare function filterScriptByLenRange(valueLike?: ScriptLike, scriptLenRange?: [NumLike, NumLike]): boolean;
13
14
  export declare function filterCell(searchKeyLike: ClientCollectableSearchKeyLike, cellLike: CellLike): boolean;
15
+ /**
16
+ * A Least Recently Used (LRU) cache implemented using a Map.
17
+ *
18
+ * This class extends the built-in Map to provide an LRU cache with a fixed capacity.
19
+ * When the cache is full, the least recently used entry is automatically evicted.
20
+ *
21
+ * @template K The type of the keys in the cache.
22
+ * @template V The type of the values in the cache.
23
+ */
14
24
  export declare class MapLru<K, V> extends Map<K, V> {
15
25
  private readonly capacity;
16
- private readonly lru;
26
+ /**
27
+ * Constructs a new MapLru instance.
28
+ *
29
+ * @param capacity The maximum number of entries the cache can hold. Must be a positive integer.
30
+ * @throws {Error} If the capacity is not a positive integer.
31
+ */
17
32
  constructor(capacity: number);
18
- get(key: K): (V & ({} | null)) | undefined;
33
+ /**
34
+ * Retrieves a value from the cache.
35
+ *
36
+ * If the key is present in the cache, the value is moved to the most-recently-used position.
37
+ *
38
+ * @param key The key of the value to retrieve.
39
+ * @returns The value associated with the key, or undefined if the key is not present.
40
+ */
41
+ get(key: K): V | undefined;
42
+ /**
43
+ * Inserts a new value into the cache, or updates an existing value.
44
+ *
45
+ * If the key is already present in the cache, it is first deleted so that the re-insertion
46
+ * moves it to the most-recently-used position.
47
+ * If the cache is over capacity after the insertion, the least recently used entry is evicted.
48
+ *
49
+ * @param key The key of the value to insert or update.
50
+ * @param value The value to associate with the key.
51
+ * @returns This MapLru instance.
52
+ */
19
53
  set(key: K, value: V): this;
20
- delete(key: K): boolean;
21
54
  }
22
55
  //# 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,GAAG,CAAC,GAAG,EAAE,CAAC;IAmBV,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAOpB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;CAYxB"}
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;AAGpC,eAAO,MAAM,4BAA4B,QAA0B,CAAC;AAGpE,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;;;;;;;;GAQG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAO7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IANrC;;;;;OAKG;gBAC0B,QAAQ,EAAE,MAAM;IAO7C;;;;;;;OAOG;IACM,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAenC;;;;;;;;;;OAUG;IACM,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;CAarC"}
@@ -4,6 +4,7 @@ import { hexFrom } from "../../hex/index.js";
4
4
  import { numFrom } from "../../num/index.js";
5
5
  import { clientSearchKeyRangeFrom, } from "../clientTypes.advanced.js";
6
6
  import { ClientIndexerSearchKey } from "../clientTypes.js";
7
+ export const DEFAULT_CONFIRMED_BLOCK_TIME = numFrom(1000 * 10 * 50); // 50 blocks * 10s
7
8
  export function filterData(dataLike, filterLike, filterMode) {
8
9
  if (!filterLike) {
9
10
  return true;
@@ -78,41 +79,68 @@ export function filterCell(searchKeyLike, cellLike) {
78
79
  }
79
80
  return true;
80
81
  }
82
+ /**
83
+ * A Least Recently Used (LRU) cache implemented using a Map.
84
+ *
85
+ * This class extends the built-in Map to provide an LRU cache with a fixed capacity.
86
+ * When the cache is full, the least recently used entry is automatically evicted.
87
+ *
88
+ * @template K The type of the keys in the cache.
89
+ * @template V The type of the values in the cache.
90
+ */
81
91
  export class MapLru extends Map {
92
+ /**
93
+ * Constructs a new MapLru instance.
94
+ *
95
+ * @param capacity The maximum number of entries the cache can hold. Must be a positive integer.
96
+ * @throws {Error} If the capacity is not a positive integer.
97
+ */
82
98
  constructor(capacity) {
83
99
  super();
84
100
  this.capacity = capacity;
85
- this.lru = [];
101
+ if (!Number.isInteger(capacity) || capacity < 1) {
102
+ throw new Error("Capacity must be a positive integer");
103
+ }
86
104
  }
105
+ /**
106
+ * Retrieves a value from the cache.
107
+ *
108
+ * If the key is present in the cache, the value is moved to the most-recently-used position.
109
+ *
110
+ * @param key The key of the value to retrieve.
111
+ * @returns The value associated with the key, or undefined if the key is not present.
112
+ */
87
113
  get(key) {
88
- const val = super.get(key);
89
- if (val === undefined) {
90
- return;
91
- }
92
- const index = this.lru.indexOf(key);
93
- if (index !== -1) {
94
- this.lru.splice(index, 1);
95
- }
96
- this.lru.push(key);
97
- if (this.lru.length > this.capacity) {
98
- this.delete(this.lru[0]);
99
- this.lru.shift();
114
+ // Check if the key exists. If not, return undefined.
115
+ if (!super.has(key)) {
116
+ return undefined;
100
117
  }
101
- return val;
118
+ const value = super.get(key);
119
+ // Move to most-recently-used position
120
+ super.delete(key);
121
+ super.set(key, value);
122
+ return value;
102
123
  }
124
+ /**
125
+ * Inserts a new value into the cache, or updates an existing value.
126
+ *
127
+ * If the key is already present in the cache, it is first deleted so that the re-insertion
128
+ * moves it to the most-recently-used position.
129
+ * If the cache is over capacity after the insertion, the least recently used entry is evicted.
130
+ *
131
+ * @param key The key of the value to insert or update.
132
+ * @param value The value to associate with the key.
133
+ * @returns This MapLru instance.
134
+ */
103
135
  set(key, value) {
104
- this.get(key);
136
+ // Delete and re-insert to move key to the end (most-recently-used)
137
+ super.delete(key);
105
138
  super.set(key, value);
106
- return this;
107
- }
108
- delete(key) {
109
- if (!super.delete(key)) {
110
- return false;
111
- }
112
- const index = this.lru.indexOf(key);
113
- if (index !== -1) {
114
- this.lru.splice(index, 1);
139
+ // Evict oldest if over capacity
140
+ if (super.size > this.capacity) {
141
+ const oldestKey = super.keys().next().value;
142
+ super.delete(oldestKey);
115
143
  }
116
- return true;
144
+ return this;
117
145
  }
118
146
  }
@@ -8,6 +8,7 @@ export declare class ClientCacheMemory extends ClientCache {
8
8
  private readonly maxCells;
9
9
  private readonly maxTxs;
10
10
  private readonly maxBlocks;
11
+ private readonly confirmedBlockTime;
11
12
  /**
12
13
  * OutPoint => [isLive, Cell | OutPoint]
13
14
  */
@@ -24,7 +25,14 @@ export declare class ClientCacheMemory extends ClientCache {
24
25
  * Block Hash => Block Header / Full Block
25
26
  */
26
27
  private readonly knownBlocks;
27
- constructor(maxCells?: number, maxTxs?: number, maxBlocks?: number);
28
+ /**
29
+ * @param maxCells - Maximum number of cells to store in the cache. Defaults to 512.
30
+ * @param maxTxs - Maximum number of transactions to store in the cache. Defaults to 256.
31
+ * @param maxBlocks - Maximum number of blocks to store in the cache. Defaults to 128.
32
+ * @param confirmedBlockTime - Time in milliseconds after which a block is considered confirmed.
33
+ * Defaults to DEFAULT_CONFIRMED_BLOCK_TIME (50 blocks * 10s).
34
+ */
35
+ constructor(maxCells?: number, maxTxs?: number, maxBlocks?: number, confirmedBlockTime?: bigint);
28
36
  markUsableNoCache(...cellLikes: (CellLike | CellLike[])[]): Promise<void>;
29
37
  markUnusable(...outPointLikes: (OutPointLike | OutPointLike[])[]): Promise<void>;
30
38
  clear(): Promise<void>;
@@ -40,5 +48,6 @@ export declare class ClientCacheMemory extends ClientCache {
40
48
  recordBlocks(...blocks: (ClientBlockLike | ClientBlockLike[])[]): Promise<void>;
41
49
  getBlockByHash(hashLike: HexLike): Promise<ClientBlock | undefined>;
42
50
  getBlockByNumber(numberLike: NumLike): Promise<ClientBlock | undefined>;
51
+ hasHeaderConfirmed(header: ClientBlockHeader): boolean;
43
52
  }
44
53
  //# 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,EAAE,IAAI,EAAE,QAAQ,EAAY,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAW,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAgB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,qBAAa,iBAAkB,SAAQ,WAAW;IAyB9C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IA1B5B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4C;IAE9E;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IAEvD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAG1B;gBAGiB,QAAQ,SAAM,EACd,MAAM,SAAM,EACZ,SAAS,SAAM;IAe5B,iBAAiB,CACrB,GAAG,SAAS,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GACtC,OAAO,CAAC,IAAI,CAAC;IASV,YAAY,CAChB,GAAG,aAAa,EAAE,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC,EAAE,GAClD,OAAO,CAAC,IAAI,CAAC;IAcV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,SAAS,CACd,OAAO,EAAE,8BAA8B,GACtC,cAAc,CAAC,IAAI,CAAC;IAcjB,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD,WAAW,CAAC,GAAG,KAAK,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAS9D,0BAA0B,CAC9B,GAAG,YAAY,EAAE,CACb,6BAA6B,GAC7B,6BAA6B,EAAE,CAClC,EAAE,GACF,OAAO,CAAC,IAAI,CAAC;IAMV,sBAAsB,CAC1B,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAK3C,aAAa,CACjB,GAAG,OAAO,EAAE,CAAC,qBAAqB,GAAG,qBAAqB,EAAE,CAAC,EAAE,GAC9D,OAAO,CAAC,IAAI,CAAC;IAaV,eAAe,CACnB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAQnC,iBAAiB,CACrB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAUnC,YAAY,CAChB,GAAG,MAAM,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GACjD,OAAO,CAAC,IAAI,CAAC;IAQV,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAWnE,gBAAgB,CACpB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CASpC"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/client/cache/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAY,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAW,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAgB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQzC,qBAAa,iBAAkB,SAAQ,WAAW;IAgC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAlCrC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4C;IAE9E;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsB;IAEvD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAG1B;IAEF;;;;;;OAMG;gBAEgB,QAAQ,SAAM,EACd,MAAM,SAAM,EACZ,SAAS,SAAM,EACf,kBAAkB,SAA+B;IAe9D,iBAAiB,CACrB,GAAG,SAAS,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GACtC,OAAO,CAAC,IAAI,CAAC;IASV,YAAY,CAChB,GAAG,aAAa,EAAE,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC,EAAE,GAClD,OAAO,CAAC,IAAI,CAAC;IAcV,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,SAAS,CACd,OAAO,EAAE,8BAA8B,GACtC,cAAc,CAAC,IAAI,CAAC;IAcjB,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxD,WAAW,CAAC,GAAG,KAAK,EAAE,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAS9D,0BAA0B,CAC9B,GAAG,YAAY,EAAE,CACb,6BAA6B,GAC7B,6BAA6B,EAAE,CAClC,EAAE,GACF,OAAO,CAAC,IAAI,CAAC;IAMV,sBAAsB,CAC1B,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAK3C,aAAa,CACjB,GAAG,OAAO,EAAE,CAAC,qBAAqB,GAAG,qBAAqB,EAAE,CAAC,EAAE,GAC9D,OAAO,CAAC,IAAI,CAAC;IAaV,eAAe,CACnB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAQnC,iBAAiB,CACrB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAUnC,YAAY,CAChB,GAAG,MAAM,EAAE,CAAC,eAAe,GAAG,eAAe,EAAE,CAAC,EAAE,GACjD,OAAO,CAAC,IAAI,CAAC;IAQV,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAWnE,gBAAgB,CACpB,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAUnC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO;CAGvD"}
@@ -3,13 +3,21 @@ import { hexFrom } from "../../hex/index.js";
3
3
  import { numFrom } from "../../num/index.js";
4
4
  import { ClientBlock, ClientBlockHeader, ClientTransactionResponse, } from "../clientTypes.js";
5
5
  import { ClientCache } from "./cache.js";
6
- import { filterCell, MapLru } from "./memory.advanced.js";
6
+ import { DEFAULT_CONFIRMED_BLOCK_TIME, filterCell, MapLru, } from "./memory.advanced.js";
7
7
  export class ClientCacheMemory extends ClientCache {
8
- constructor(maxCells = 512, maxTxs = 256, maxBlocks = 128) {
8
+ /**
9
+ * @param maxCells - Maximum number of cells to store in the cache. Defaults to 512.
10
+ * @param maxTxs - Maximum number of transactions to store in the cache. Defaults to 256.
11
+ * @param maxBlocks - Maximum number of blocks to store in the cache. Defaults to 128.
12
+ * @param confirmedBlockTime - Time in milliseconds after which a block is considered confirmed.
13
+ * Defaults to DEFAULT_CONFIRMED_BLOCK_TIME (50 blocks * 10s).
14
+ */
15
+ constructor(maxCells = 512, maxTxs = 256, maxBlocks = 128, confirmedBlockTime = DEFAULT_CONFIRMED_BLOCK_TIME) {
9
16
  super();
10
17
  this.maxCells = maxCells;
11
18
  this.maxTxs = maxTxs;
12
19
  this.maxBlocks = maxBlocks;
20
+ this.confirmedBlockTime = confirmedBlockTime;
13
21
  this.cells = new MapLru(this.maxCells);
14
22
  this.knownTransactions = new MapLru(this.maxTxs);
15
23
  this.knownBlockHashes = new MapLru(this.maxBlocks);
@@ -134,4 +142,7 @@ export class ClientCacheMemory extends ClientCache {
134
142
  }
135
143
  return this.getBlockByHash(hash);
136
144
  }
145
+ hasHeaderConfirmed(header) {
146
+ return numFrom(Date.now()) - header.timestamp >= this.confirmedBlockTime;
147
+ }
137
148
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,8 @@ import { hexFrom } from "../hex/index.js";
4
4
  import { numFrom, numMax, numMin } from "../num/index.js";
5
5
  import { reduceAsync, sleep } from "../utils/index.js";
6
6
  import { ClientCacheMemory } from "./cache/memory.js";
7
- import { CONFIRMED_BLOCK_TIME, DEFAULT_MAX_FEE_RATE, DEFAULT_MIN_FEE_RATE, } from "./clientTypes.advanced.js";
7
+ import { DEFAULT_MAX_FEE_RATE, DEFAULT_MIN_FEE_RATE, } from "./clientTypes.advanced.js";
8
8
  import { CellDepInfo, ClientIndexerSearchKey, ErrorClientMaxFeeRateExceeded, ErrorClientWaitTransactionTimeout, } from "./clientTypes.js";
9
- function hasHeaderConfirmed(header) {
10
- return numFrom(Date.now()) - header.timestamp >= CONFIRMED_BLOCK_TIME;
11
- }
12
9
  /**
13
10
  * @public
14
11
  */
@@ -30,7 +27,7 @@ export class Client {
30
27
  return block;
31
28
  }
32
29
  const res = await this.getBlockByNumberNoCache(blockNumber, verbosity, withCycles);
33
- if (res && hasHeaderConfirmed(res.header)) {
30
+ if (res && this.cache.hasHeaderConfirmed(res.header)) {
34
31
  await this.cache.recordBlocks(res);
35
32
  }
36
33
  return res;
@@ -41,7 +38,7 @@ export class Client {
41
38
  return block;
42
39
  }
43
40
  const res = await this.getBlockByHashNoCache(blockHash, verbosity, withCycles);
44
- if (res && hasHeaderConfirmed(res.header)) {
41
+ if (res && this.cache.hasHeaderConfirmed(res.header)) {
45
42
  await this.cache.recordBlocks(res);
46
43
  }
47
44
  return res;
@@ -52,7 +49,7 @@ export class Client {
52
49
  return header;
53
50
  }
54
51
  const res = await this.getHeaderByNumberNoCache(blockNumber, verbosity);
55
- if (res && hasHeaderConfirmed(res)) {
52
+ if (res && this.cache.hasHeaderConfirmed(res)) {
56
53
  await this.cache.recordHeaders(res);
57
54
  }
58
55
  return res;
@@ -63,7 +60,7 @@ export class Client {
63
60
  return header;
64
61
  }
65
62
  const res = await this.getHeaderByHashNoCache(blockHash, verbosity);
66
- if (res && hasHeaderConfirmed(res)) {
63
+ if (res && this.cache.hasHeaderConfirmed(res)) {
67
64
  await this.cache.recordHeaders(res);
68
65
  }
69
66
  return res;
@@ -270,7 +267,7 @@ export class Client {
270
267
  const tx = await this.cache.getTransactionResponse(txHash);
271
268
  if (tx?.blockHash) {
272
269
  const header = await this.getHeaderByHash(tx.blockHash);
273
- if (header && hasHeaderConfirmed(header)) {
270
+ if (header && this.cache.hasHeaderConfirmed(header)) {
274
271
  return {
275
272
  transaction: tx,
276
273
  header,
@@ -1 +1 @@
1
- {"version":3,"file":"clientPublicMainnet.advanced.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicMainnet.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,CAkYxE,CAAC"}
1
+ {"version":3,"file":"clientPublicMainnet.advanced.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicMainnet.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,CAscxE,CAAC"}
@@ -338,4 +338,64 @@ export const MAINNET_SCRIPTS = Object.freeze({
338
338
  },
339
339
  ],
340
340
  },
341
+ [KnownScript.RgbppLock]: {
342
+ codeHash: "0xbc6c568a1a0d0a09f6844dc9d74ddb4343c32143ff25f727c59edf4fb72d6936",
343
+ hashType: "type",
344
+ cellDeps: [
345
+ {
346
+ cellDep: {
347
+ outPoint: {
348
+ txHash: "0x04c5c3e69f1aa6ee27fb9de3d15a81704e387ab3b453965adbe0b6ca343c6f41",
349
+ index: 0,
350
+ },
351
+ depType: "code",
352
+ },
353
+ type: {
354
+ codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
355
+ hashType: "type",
356
+ args: "0x68ad3d9e0bb9ea841a5d1fcd600137bd3f45401e759e353121f26cd0d981452f",
357
+ },
358
+ },
359
+ // Rgbpp lock config cell dep
360
+ {
361
+ cellDep: {
362
+ outPoint: {
363
+ txHash: "0x04c5c3e69f1aa6ee27fb9de3d15a81704e387ab3b453965adbe0b6ca343c6f41",
364
+ index: 1,
365
+ },
366
+ depType: "code",
367
+ },
368
+ },
369
+ ],
370
+ },
371
+ [KnownScript.BtcTimeLock]: {
372
+ codeHash: "0x70d64497a075bd651e98ac030455ea200637ee325a12ad08aff03f1a117e5a62",
373
+ hashType: "type",
374
+ cellDeps: [
375
+ {
376
+ cellDep: {
377
+ outPoint: {
378
+ txHash: "0x6257bf4297ee75fcebe2654d8c5f8d93bc9fc1b3dc62b8cef54ffe166162e996",
379
+ index: 0,
380
+ },
381
+ depType: "code",
382
+ },
383
+ type: {
384
+ codeHash: "0x00000000000000000000000000000000000000000000000000545950455f4944",
385
+ hashType: "type",
386
+ args: "0x44b8253ae18e913a2845b0d548eaf6b3ba1099ed26835888932a754194028a8a",
387
+ },
388
+ },
389
+ // btc time lock config cell dep
390
+ {
391
+ cellDep: {
392
+ outPoint: {
393
+ txHash: "0x6257bf4297ee75fcebe2654d8c5f8d93bc9fc1b3dc62b8cef54ffe166162e996",
394
+ index: 1,
395
+ },
396
+ depType: "code",
397
+ },
398
+ },
399
+ ],
400
+ },
341
401
  });
@@ -1,4 +1,27 @@
1
1
  import { ScriptInfoLike } from "./clientTypes.js";
2
2
  import { KnownScript } from "./knownScript.js";
3
3
  export declare const TESTNET_SCRIPTS: Record<KnownScript, ScriptInfoLike>;
4
+ /**
5
+ * Bitcoin Signet specific script overrides for testnet
6
+ *
7
+ * Contains script configurations that differ when using Bitcoin Signet
8
+ * instead of Bitcoin Testnet3. Only RgbppLock and BtcTimeLock are affected.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { ClientPublicTestnet } from "@ckb-ccc/core";
13
+ * import { TESTNET_SCRIPTS, TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES } from "@ckb-ccc/core/advanced";
14
+ *
15
+ * // Use Bitcoin Testnet3 scripts (default)
16
+ * const testnet3Client = new ClientPublicTestnet();
17
+ *
18
+ * // Use Bitcoin Signet scripts by merging overrides
19
+ * const signetClient = new ClientPublicTestnet({
20
+ * scripts: {
21
+ * ...TESTNET_SCRIPTS,
22
+ * ...TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES
23
+ * }
24
+ * });
25
+ */
26
+ export declare const TESTNET_SCRIPTS_BTC_SIGNET_OVERRIDES: Partial<Record<KnownScript, ScriptInfoLike>>;
4
27
  //# sourceMappingURL=clientPublicTestnet.advanced.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientPublicTestnet.advanced.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicTestnet.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CA8Y5D,CAAC"}
1
+ {"version":3,"file":"clientPublicTestnet.advanced.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicTestnet.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CAkd5D,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,oCAAoC,EAAE,OAAO,CACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAsEnC,CAAC"}