@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
@@ -2,10 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ClientCache = void 0;
4
4
  const index_js_1 = require("../../ckb/index.js");
5
+ /**
6
+ * @public
7
+ * The ClientCache class is mainly designed for chained transactions.
8
+ * Consumed & Created cells are "marked" so they can be correctly handled when composing transactions.
9
+ * It also act as cache for rpc requests to reduce cost, but this is optional.
10
+ */
5
11
  class ClientCache {
12
+ async markUsable(...cellLikes) {
13
+ await this.recordCells(...cellLikes);
14
+ return this.markUsableNoCache(...cellLikes);
15
+ }
6
16
  async markTransactions(...transactionLike) {
7
17
  await Promise.all([
8
- this.recordTransactions(...transactionLike),
18
+ this.recordTransactionResponses(transactionLike.flat().map((transaction) => ({
19
+ transaction: transaction,
20
+ status: "sent",
21
+ }))),
9
22
  ...transactionLike.flat().map((transactionLike) => {
10
23
  const tx = index_js_1.Transaction.from(transactionLike);
11
24
  const txHash = tx.hash();
@@ -23,25 +36,97 @@ class ClientCache {
23
36
  }),
24
37
  ]);
25
38
  }
39
+ // ======
40
+ // Following methods are for requests caching and optional.
41
+ // ======
26
42
  /**
27
- * Record known transactions
43
+ * Record known cells
44
+ * Implement this method to enable cells query caching
45
+ * @param _cells
46
+ */
47
+ async recordCells(..._cells) { }
48
+ /**
49
+ * Get a known cell by out point
50
+ * Implement this method to enable cells query caching
51
+ * @param _outPoint
52
+ */
53
+ async getCell(_outPoint) {
54
+ return;
55
+ }
56
+ /**
57
+ * Record known transaction responses.
28
58
  * Implement this method to enable transactions query caching
29
59
  * @param _transactions
30
60
  */
31
- async recordTransactions(..._transactions) { }
61
+ async recordTransactionResponses(..._transactions) { }
32
62
  /**
33
- * Get a known transaction by hash
63
+ * Get a known transaction response by hash
34
64
  * Implement this method to enable transactions query caching
35
65
  * @param _txHash
36
66
  */
37
- async getTransaction(_txHash) {
67
+ async getTransactionResponse(_txHash) {
38
68
  return;
39
69
  }
40
70
  /**
41
- * Record known cells
42
- * Implement this method to enable cells query caching
43
- * @param _cells
71
+ * Record known transactions.
72
+ * @param transactions
44
73
  */
45
- async recordCells(..._cells) { }
74
+ async recordTransactions(...transactions) {
75
+ return this.recordTransactionResponses(transactions.flat().map((transaction) => ({
76
+ transaction,
77
+ status: "unknown",
78
+ })));
79
+ }
80
+ /**
81
+ * Get a known transaction by hash
82
+ * @param txHash
83
+ */
84
+ async getTransaction(txHash) {
85
+ return (await this.getTransactionResponse(txHash))?.transaction;
86
+ }
87
+ /**
88
+ * Record known block headers.
89
+ * Implement this method to enable block headers query caching
90
+ * @param _headers
91
+ */
92
+ async recordHeaders(..._headers) { }
93
+ /**
94
+ * Get a known block header by hash
95
+ * Implement this method to enable block headers query caching
96
+ * @param _hash
97
+ */
98
+ async getHeaderByHash(_hash) {
99
+ return;
100
+ }
101
+ /**
102
+ * Get a known block header by number
103
+ * Implement this method to enable block headers query caching
104
+ * @param _number
105
+ */
106
+ async getHeaderByNumber(_number) {
107
+ return;
108
+ }
109
+ /**
110
+ * Record known blocks.
111
+ * Implement this method to enable blocks query caching
112
+ * @param _blocks
113
+ */
114
+ async recordBlocks(..._blocks) { }
115
+ /**
116
+ * Get a known block header by hash
117
+ * Implement this method to enable block headers query caching
118
+ * @param _hash
119
+ */
120
+ async getBlockByHash(_hash) {
121
+ return;
122
+ }
123
+ /**
124
+ * Get a known block header by number
125
+ * Implement this method to enable block headers query caching
126
+ * @param _number
127
+ */
128
+ async getBlockByNumber(_number) {
129
+ return;
130
+ }
46
131
  }
47
132
  exports.ClientCache = ClientCache;
@@ -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"}
@@ -92,7 +92,11 @@ class MapLru extends Map {
92
92
  this.capacity = capacity;
93
93
  this.lru = [];
94
94
  }
95
- access(key) {
95
+ get(key) {
96
+ const val = super.get(key);
97
+ if (val === undefined) {
98
+ return;
99
+ }
96
100
  const index = this.lru.indexOf(key);
97
101
  if (index !== -1) {
98
102
  this.lru.splice(index, 1);
@@ -102,14 +106,22 @@ class MapLru extends Map {
102
106
  this.delete(this.lru[0]);
103
107
  this.lru.shift();
104
108
  }
105
- }
106
- get(key) {
107
- this.access(key);
108
- return super.get(key);
109
+ return val;
109
110
  }
110
111
  set(key, value) {
111
- this.access(key);
112
- return super.set(key, value);
112
+ this.get(key);
113
+ super.set(key, value);
114
+ return this;
115
+ }
116
+ delete(key) {
117
+ if (!super.delete(key)) {
118
+ return false;
119
+ }
120
+ const index = this.lru.indexOf(key);
121
+ if (index !== -1) {
122
+ this.lru.splice(index, 1);
123
+ }
124
+ return true;
113
125
  }
114
126
  }
115
127
  exports.MapLru = MapLru;
@@ -1,27 +1,44 @@
1
- import { Cell, CellLike, OutPointLike, Transaction, TransactionLike } from "../../ckb/index.js";
1
+ import { Cell, CellLike, OutPointLike } 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";
4
6
  import { ClientCache } from "./cache.js";
5
7
  export declare class ClientCacheMemory extends ClientCache {
6
8
  private readonly maxCells;
7
9
  private readonly maxTxs;
10
+ private readonly maxBlocks;
8
11
  /**
9
12
  * OutPoint => [isLive, Cell | OutPoint]
10
13
  */
11
14
  private readonly cells;
12
15
  /**
13
- * TX Hash => Transaction
16
+ * TX Hash => Transaction Response
14
17
  */
15
18
  private readonly knownTransactions;
16
- constructor(maxCells?: number, maxTxs?: number);
17
- markUsable(...cellLikes: (CellLike | CellLike[])[]): Promise<void>;
19
+ /**
20
+ * Block Number => Block Hash
21
+ */
22
+ private readonly knownBlockHashes;
23
+ /**
24
+ * Block Hash => Block Header / Full Block
25
+ */
26
+ private readonly knownBlocks;
27
+ constructor(maxCells?: number, maxTxs?: number, maxBlocks?: number);
28
+ markUsableNoCache(...cellLikes: (CellLike | CellLike[])[]): Promise<void>;
18
29
  markUnusable(...outPointLikes: (OutPointLike | OutPointLike[])[]): Promise<void>;
19
30
  clear(): Promise<void>;
20
31
  findCells(keyLike: ClientCollectableSearchKeyLike): AsyncGenerator<Cell>;
21
- getCell(outPointLike: OutPointLike): Promise<Cell | undefined>;
22
32
  isUnusable(outPointLike: OutPointLike): Promise<boolean>;
23
- recordTransactions(...transactions: (TransactionLike | TransactionLike[])[]): Promise<void>;
24
- getTransaction(txHashLike: HexLike): Promise<Transaction | undefined>;
25
33
  recordCells(...cells: (CellLike | CellLike[])[]): Promise<void>;
34
+ getCell(outPointLike: OutPointLike): Promise<Cell | undefined>;
35
+ recordTransactionResponses(...transactions: (ClientTransactionResponseLike | ClientTransactionResponseLike[])[]): Promise<void>;
36
+ getTransactionResponse(txHashLike: HexLike): Promise<ClientTransactionResponse | undefined>;
37
+ recordHeaders(...headers: (ClientBlockHeaderLike | ClientBlockHeaderLike[])[]): Promise<void>;
38
+ getHeaderByHash(hashLike: HexLike): Promise<ClientBlockHeader | undefined>;
39
+ getHeaderByNumber(numberLike: NumLike): Promise<ClientBlockHeader | undefined>;
40
+ recordBlocks(...blocks: (ClientBlockLike | ClientBlockLike[])[]): Promise<void>;
41
+ getBlockByHash(hashLike: HexLike): Promise<ClientBlock | undefined>;
42
+ getBlockByNumber(numberLike: NumLike): Promise<ClientBlock | undefined>;
26
43
  }
27
44
  //# 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,EAAW,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,qBAAa,iBAAkB,SAAQ,WAAW;IAY9C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;gBAG7C,QAAQ,SAAM,EACd,MAAM,SAAM;IAQzB,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;IAKrB,SAAS,CACd,OAAO,EAAE,8BAA8B,GACtC,cAAc,CAAC,IAAI,CAAC;IAajB,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"}
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"}
@@ -3,17 +3,22 @@ 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 index_js_3 = require("../../num/index.js");
7
+ const clientTypes_js_1 = require("../clientTypes.js");
6
8
  const cache_js_1 = require("./cache.js");
7
9
  const memory_advanced_js_1 = require("./memory.advanced.js");
8
10
  class ClientCacheMemory extends cache_js_1.ClientCache {
9
- constructor(maxCells = 512, maxTxs = 256) {
11
+ constructor(maxCells = 512, maxTxs = 256, maxBlocks = 128) {
10
12
  super();
11
13
  this.maxCells = maxCells;
12
14
  this.maxTxs = maxTxs;
15
+ this.maxBlocks = maxBlocks;
13
16
  this.cells = new memory_advanced_js_1.MapLru(this.maxCells);
14
17
  this.knownTransactions = new memory_advanced_js_1.MapLru(this.maxTxs);
18
+ this.knownBlockHashes = new memory_advanced_js_1.MapLru(this.maxBlocks);
19
+ this.knownBlocks = new memory_advanced_js_1.MapLru(this.maxBlocks);
15
20
  }
16
- async markUsable(...cellLikes) {
21
+ async markUsableNoCache(...cellLikes) {
17
22
  cellLikes.flat().forEach((cellLike) => {
18
23
  const cell = index_js_1.Cell.from(cellLike).clone();
19
24
  const outPointStr = (0, index_js_2.hexFrom)(cell.outPoint.toBytes());
@@ -44,10 +49,24 @@ class ClientCacheMemory extends cache_js_1.ClientCache {
44
49
  if (!(0, memory_advanced_js_1.filterCell)(keyLike, cell)) {
45
50
  continue;
46
51
  }
47
- this.cells.access(key);
52
+ this.cells.get(key);
48
53
  yield cell.clone();
49
54
  }
50
55
  }
56
+ async isUnusable(outPointLike) {
57
+ const outPoint = index_js_1.OutPoint.from(outPointLike);
58
+ return !(this.cells.get((0, index_js_2.hexFrom)(outPoint.toBytes()))?.[0] ?? true);
59
+ }
60
+ async recordCells(...cells) {
61
+ cells.flat().map((cellLike) => {
62
+ const cell = index_js_1.Cell.from(cellLike);
63
+ const outPointStr = (0, index_js_2.hexFrom)(cell.outPoint.toBytes());
64
+ if (this.cells.get(outPointStr)) {
65
+ return;
66
+ }
67
+ this.cells.set(outPointStr, [undefined, cell]);
68
+ });
69
+ }
51
70
  async getCell(outPointLike) {
52
71
  const outPoint = index_js_1.OutPoint.from(outPointLike);
53
72
  const cell = this.cells.get((0, index_js_2.hexFrom)(outPoint.toBytes()))?.[1];
@@ -55,29 +74,68 @@ class ClientCacheMemory extends cache_js_1.ClientCache {
55
74
  return index_js_1.Cell.from(cell.clone());
56
75
  }
57
76
  }
58
- async isUnusable(outPointLike) {
59
- const outPoint = index_js_1.OutPoint.from(outPointLike);
60
- return !(this.cells.get((0, index_js_2.hexFrom)(outPoint.toBytes()))?.[0] ?? true);
61
- }
62
- async recordTransactions(...transactions) {
77
+ async recordTransactionResponses(...transactions) {
63
78
  transactions.flat().map((txLike) => {
64
- const tx = index_js_1.Transaction.from(txLike);
65
- this.knownTransactions.set(tx.hash(), tx);
79
+ const tx = clientTypes_js_1.ClientTransactionResponse.from(txLike);
80
+ this.knownTransactions.set(tx.transaction.hash(), tx);
66
81
  });
67
82
  }
68
- async getTransaction(txHashLike) {
83
+ async getTransactionResponse(txHashLike) {
69
84
  const txHash = (0, index_js_2.hexFrom)(txHashLike);
70
85
  return this.knownTransactions.get(txHash)?.clone();
71
86
  }
72
- async recordCells(...cells) {
73
- cells.flat().map((cellLike) => {
74
- const cell = index_js_1.Cell.from(cellLike);
75
- const outPointStr = (0, index_js_2.hexFrom)(cell.outPoint.toBytes());
76
- if (this.cells.get(outPointStr)) {
87
+ async recordHeaders(...headers) {
88
+ headers.flat().map((headerLike) => {
89
+ const header = clientTypes_js_1.ClientBlockHeader.from(headerLike);
90
+ this.knownBlockHashes.set(header.number, header.hash);
91
+ const existed = this.knownBlocks.get(header.hash);
92
+ if (existed) {
77
93
  return;
78
94
  }
79
- this.cells.set(outPointStr, [undefined, cell]);
95
+ this.knownBlocks.set(header.hash, { header });
96
+ });
97
+ }
98
+ async getHeaderByHash(hashLike) {
99
+ const hash = (0, index_js_2.hexFrom)(hashLike);
100
+ const block = this.knownBlocks.get(hash);
101
+ if (block) {
102
+ this.knownBlockHashes.get(block.header.number); // For LRU
103
+ }
104
+ return block?.header;
105
+ }
106
+ async getHeaderByNumber(numberLike) {
107
+ const number = (0, index_js_3.numFrom)(numberLike);
108
+ const hash = this.knownBlockHashes.get(number);
109
+ if (!hash) {
110
+ return;
111
+ }
112
+ return this.getHeaderByHash(hash);
113
+ }
114
+ async recordBlocks(...blocks) {
115
+ blocks.flat().map((blockLike) => {
116
+ const block = clientTypes_js_1.ClientBlock.from(blockLike);
117
+ this.knownBlockHashes.set(block.header.number, block.header.hash);
118
+ this.knownBlocks.set(block.header.hash, block);
80
119
  });
81
120
  }
121
+ async getBlockByHash(hashLike) {
122
+ const hash = (0, index_js_2.hexFrom)(hashLike);
123
+ const block = this.knownBlocks.get(hash);
124
+ if (block) {
125
+ this.knownBlockHashes.get(block.header.number); // For LRU
126
+ if ("transactions" in block) {
127
+ return block;
128
+ }
129
+ }
130
+ return;
131
+ }
132
+ async getBlockByNumber(numberLike) {
133
+ const number = (0, index_js_3.numFrom)(numberLike);
134
+ const hash = this.knownBlockHashes.get(number);
135
+ if (!hash) {
136
+ return;
137
+ }
138
+ return this.getBlockByHash(hash);
139
+ }
82
140
  }
83
141
  exports.ClientCacheMemory = ClientCacheMemory;
@@ -19,18 +19,28 @@ export declare abstract class Client {
19
19
  mean: Num;
20
20
  median: Num;
21
21
  }>;
22
- getFeeRate(blockRange?: NumLike): Promise<Num>;
22
+ getFeeRate(blockRange?: NumLike, options?: {
23
+ maxFeeRate?: NumLike;
24
+ }): Promise<Num>;
23
25
  abstract getTip(): Promise<Num>;
24
26
  abstract getTipHeader(verbosity?: number | null): Promise<ClientBlockHeader>;
25
- abstract getBlockByNumber(blockNumber: NumLike, verbosity?: number | null, withCycles?: boolean | null): Promise<ClientBlock | undefined>;
26
- abstract getBlockByHash(blockHash: HexLike, verbosity?: number | null, withCycles?: boolean | null): Promise<ClientBlock | undefined>;
27
- abstract getHeaderByNumber(blockNumber: NumLike, verbosity?: number | null): Promise<ClientBlockHeader | undefined>;
28
- abstract getHeaderByHash(blockHash: HexLike, verbosity?: number | null): Promise<ClientBlockHeader | undefined>;
27
+ abstract getBlockByNumberNoCache(blockNumber: NumLike, verbosity?: number | null, withCycles?: boolean | null): Promise<ClientBlock | undefined>;
28
+ abstract getBlockByHashNoCache(blockHash: HexLike, verbosity?: number | null, withCycles?: boolean | null): Promise<ClientBlock | undefined>;
29
+ abstract getHeaderByNumberNoCache(blockNumber: NumLike, verbosity?: number | null): Promise<ClientBlockHeader | undefined>;
30
+ abstract getHeaderByHashNoCache(blockHash: HexLike, verbosity?: number | null): Promise<ClientBlockHeader | undefined>;
31
+ getBlockByNumber(blockNumber: NumLike, verbosity?: number | null, withCycles?: boolean | null): Promise<ClientBlock | undefined>;
32
+ getBlockByHash(blockHash: HexLike, verbosity?: number | null, withCycles?: boolean | null): Promise<ClientBlock | undefined>;
33
+ getHeaderByNumber(blockNumber: NumLike, verbosity?: number | null): Promise<ClientBlockHeader | undefined>;
34
+ getHeaderByHash(blockHash: HexLike, verbosity?: number | null): Promise<ClientBlockHeader | undefined>;
29
35
  abstract estimateCycles(transaction: TransactionLike): Promise<Num>;
30
36
  abstract sendTransactionDry(transaction: TransactionLike, validator?: OutputsValidator): Promise<Num>;
31
37
  abstract sendTransactionNoCache(transaction: TransactionLike, validator?: OutputsValidator): Promise<Hex>;
32
38
  abstract getTransactionNoCache(txHash: HexLike): Promise<ClientTransactionResponse | undefined>;
33
39
  getCell(outPointLike: OutPointLike): Promise<Cell | undefined>;
40
+ getCellWithHeader(outPointLike: OutPointLike): Promise<{
41
+ cell: Cell;
42
+ header?: ClientBlockHeader;
43
+ } | undefined>;
34
44
  abstract getCellLiveNoCache(outPointLike: OutPointLike, withData?: boolean | null, includeTxPool?: boolean | null): Promise<Cell | undefined>;
35
45
  getCellLive(outPointLike: OutPointLike, withData?: boolean | null, includeTxPool?: boolean | null): Promise<Cell | undefined>;
36
46
  abstract findCellsPagedNoCache(key: ClientIndexerSearchKeyLike, order?: "asc" | "desc", limit?: NumLike, after?: string): Promise<ClientFindCellsResponse>;
@@ -70,8 +80,19 @@ export declare abstract class Client {
70
80
  abstract getCellsCapacity(key: ClientIndexerSearchKeyLike): Promise<Num>;
71
81
  getBalanceSingle(lock: ScriptLike): Promise<Num>;
72
82
  getBalance(locks: ScriptLike[]): Promise<Num>;
73
- sendTransaction(transaction: TransactionLike, validator?: OutputsValidator): Promise<Hex>;
83
+ sendTransaction(transaction: TransactionLike, validator?: OutputsValidator, options?: {
84
+ maxFeeRate?: NumLike;
85
+ }): Promise<Hex>;
74
86
  getTransaction(txHashLike: HexLike): Promise<ClientTransactionResponse | undefined>;
87
+ /**
88
+ * This method gets specified transaction with its block header (if existed).
89
+ * This is mainly for caching because we need the header to test if we can safely trust the cached tx status.
90
+ * @param txHashLike
91
+ */
92
+ getTransactionWithHeader(txHashLike: HexLike): Promise<{
93
+ transaction: ClientTransactionResponse;
94
+ header?: ClientBlockHeader;
95
+ } | undefined>;
75
96
  waitTransaction(txHash: HexLike, confirmations?: number, timeout?: number, interval?: number): Promise<ClientTransactionResponse | undefined>;
76
97
  }
77
98
  //# sourceMappingURL=client.d.ts.map
@@ -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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"}