@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.
- package/CHANGELOG.md +24 -0
- package/dist/ckb/transaction.d.ts +57 -4
- package/dist/ckb/transaction.d.ts.map +1 -1
- package/dist/ckb/transaction.js +83 -26
- package/dist/client/cache/cache.d.ts +67 -11
- package/dist/client/cache/cache.d.ts.map +1 -1
- package/dist/client/cache/cache.js +94 -9
- package/dist/client/cache/memory.advanced.d.ts +2 -2
- package/dist/client/cache/memory.advanced.d.ts.map +1 -1
- package/dist/client/cache/memory.advanced.js +19 -7
- package/dist/client/cache/memory.d.ts +24 -7
- package/dist/client/cache/memory.d.ts.map +1 -1
- package/dist/client/cache/memory.js +76 -18
- package/dist/client/client.d.ts +27 -6
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +113 -22
- package/dist/client/clientPublicMainnet.d.ts.map +1 -1
- package/dist/client/clientPublicMainnet.js +13 -2
- package/dist/client/clientPublicTestnet.d.ts.map +1 -1
- package/dist/client/clientPublicTestnet.js +13 -2
- package/dist/client/clientTypes.advanced.d.ts +3 -0
- package/dist/client/clientTypes.advanced.d.ts.map +1 -1
- package/dist/client/clientTypes.advanced.js +3 -0
- package/dist/client/clientTypes.d.ts +110 -13
- package/dist/client/clientTypes.d.ts.map +1 -1
- package/dist/client/clientTypes.js +118 -4
- package/dist/client/jsonRpc/client.d.ts +4 -4
- package/dist/client/jsonRpc/client.d.ts.map +1 -1
- package/dist/client/jsonRpc/client.js +4 -4
- package/dist/client/jsonRpc/transformers.js +3 -3
- package/dist/jsonRpc/requestor.d.ts +1 -0
- package/dist/jsonRpc/requestor.d.ts.map +1 -1
- package/dist/jsonRpc/requestor.js +4 -2
- package/dist/jsonRpc/transports/advanced.d.ts +1 -0
- package/dist/jsonRpc/transports/advanced.d.ts.map +1 -1
- package/dist/jsonRpc/transports/advanced.js +1 -0
- package/dist/jsonRpc/transports/fallback.d.ts +8 -0
- package/dist/jsonRpc/transports/fallback.d.ts.map +1 -0
- package/dist/jsonRpc/transports/fallback.js +22 -0
- package/dist/jsonRpc/transports/webSocket.d.ts.map +1 -1
- package/dist/jsonRpc/transports/webSocket.js +7 -3
- package/dist/molecule/predefined.d.ts +10 -10
- package/dist/molecule/predefined.d.ts.map +1 -1
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +13 -1
- package/dist.commonjs/advanced.js +17 -7
- package/dist.commonjs/ckb/transaction.d.ts +57 -4
- package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
- package/dist.commonjs/ckb/transaction.js +83 -26
- package/dist.commonjs/client/cache/cache.d.ts +67 -11
- package/dist.commonjs/client/cache/cache.d.ts.map +1 -1
- package/dist.commonjs/client/cache/cache.js +94 -9
- package/dist.commonjs/client/cache/memory.advanced.d.ts +2 -2
- package/dist.commonjs/client/cache/memory.advanced.d.ts.map +1 -1
- package/dist.commonjs/client/cache/memory.advanced.js +19 -7
- package/dist.commonjs/client/cache/memory.d.ts +24 -7
- package/dist.commonjs/client/cache/memory.d.ts.map +1 -1
- package/dist.commonjs/client/cache/memory.js +75 -17
- package/dist.commonjs/client/client.d.ts +27 -6
- package/dist.commonjs/client/client.d.ts.map +1 -1
- package/dist.commonjs/client/client.js +111 -20
- package/dist.commonjs/client/clientPublicMainnet.d.ts.map +1 -1
- package/dist.commonjs/client/clientPublicMainnet.js +13 -2
- package/dist.commonjs/client/clientPublicTestnet.d.ts.map +1 -1
- package/dist.commonjs/client/clientPublicTestnet.js +13 -2
- package/dist.commonjs/client/clientTypes.advanced.d.ts +3 -0
- package/dist.commonjs/client/clientTypes.advanced.d.ts.map +1 -1
- package/dist.commonjs/client/clientTypes.advanced.js +4 -0
- package/dist.commonjs/client/clientTypes.d.ts +110 -13
- package/dist.commonjs/client/clientTypes.d.ts.map +1 -1
- package/dist.commonjs/client/clientTypes.js +123 -4
- package/dist.commonjs/client/jsonRpc/client.d.ts +4 -4
- package/dist.commonjs/client/jsonRpc/client.d.ts.map +1 -1
- package/dist.commonjs/client/jsonRpc/client.js +4 -4
- package/dist.commonjs/client/jsonRpc/transformers.js +2 -2
- package/dist.commonjs/index.js +17 -7
- package/dist.commonjs/jsonRpc/requestor.d.ts +1 -0
- package/dist.commonjs/jsonRpc/requestor.d.ts.map +1 -1
- package/dist.commonjs/jsonRpc/requestor.js +3 -1
- package/dist.commonjs/jsonRpc/transports/advanced.d.ts +1 -0
- package/dist.commonjs/jsonRpc/transports/advanced.d.ts.map +1 -1
- package/dist.commonjs/jsonRpc/transports/advanced.js +1 -0
- package/dist.commonjs/jsonRpc/transports/fallback.d.ts +8 -0
- package/dist.commonjs/jsonRpc/transports/fallback.d.ts.map +1 -0
- package/dist.commonjs/jsonRpc/transports/fallback.js +26 -0
- package/dist.commonjs/jsonRpc/transports/webSocket.d.ts.map +1 -1
- package/dist.commonjs/jsonRpc/transports/webSocket.js +7 -3
- package/dist.commonjs/molecule/index.js +17 -7
- package/dist.commonjs/utils/index.d.ts +4 -0
- package/dist.commonjs/utils/index.d.ts.map +1 -1
- package/dist.commonjs/utils/index.js +13 -0
- package/package.json +1 -1
- package/src/ckb/transaction.ts +112 -41
- package/src/client/cache/cache.ts +126 -13
- package/src/client/cache/memory.advanced.ts +24 -7
- package/src/client/cache/memory.ts +130 -30
- package/src/client/client.ts +170 -27
- package/src/client/clientPublicMainnet.ts +14 -2
- package/src/client/clientPublicTestnet.ts +14 -2
- package/src/client/clientTypes.advanced.ts +4 -0
- package/src/client/clientTypes.ts +224 -33
- package/src/client/jsonRpc/client.ts +11 -9
- package/src/client/jsonRpc/transformers.ts +2 -2
- package/src/jsonRpc/requestor.ts +10 -1
- package/src/jsonRpc/transports/advanced.ts +1 -0
- package/src/jsonRpc/transports/fallback.ts +27 -0
- package/src/jsonRpc/transports/webSocket.ts +17 -13
- package/src/utils/index.ts +14 -1
|
@@ -7,7 +7,11 @@ const index_js_3 = require("../hex/index.js");
|
|
|
7
7
|
const index_js_4 = require("../num/index.js");
|
|
8
8
|
const index_js_5 = require("../utils/index.js");
|
|
9
9
|
const memory_js_1 = require("./cache/memory.js");
|
|
10
|
+
const clientTypes_advanced_js_1 = require("./clientTypes.advanced.js");
|
|
10
11
|
const clientTypes_js_1 = require("./clientTypes.js");
|
|
12
|
+
function hasHeaderConfirmed(header) {
|
|
13
|
+
return (0, index_js_4.numFrom)(Date.now()) - header.timestamp >= clientTypes_advanced_js_1.CONFIRMED_BLOCK_TIME;
|
|
14
|
+
}
|
|
11
15
|
/**
|
|
12
16
|
* @public
|
|
13
17
|
*/
|
|
@@ -15,8 +19,57 @@ class Client {
|
|
|
15
19
|
constructor(config) {
|
|
16
20
|
this.cache = config?.cache ?? new memory_js_1.ClientCacheMemory();
|
|
17
21
|
}
|
|
18
|
-
async getFeeRate(blockRange) {
|
|
19
|
-
|
|
22
|
+
async getFeeRate(blockRange, options) {
|
|
23
|
+
const feeRate = (0, index_js_4.numMax)((await this.getFeeRateStatistics(blockRange)).median, clientTypes_advanced_js_1.DEFAULT_MIN_FEE_RATE);
|
|
24
|
+
const maxFeeRate = (0, index_js_4.numFrom)(options?.maxFeeRate ?? clientTypes_advanced_js_1.DEFAULT_MAX_FEE_RATE);
|
|
25
|
+
if (maxFeeRate === index_js_2.Zero) {
|
|
26
|
+
return feeRate;
|
|
27
|
+
}
|
|
28
|
+
return (0, index_js_4.numMin)(feeRate, maxFeeRate);
|
|
29
|
+
}
|
|
30
|
+
async getBlockByNumber(blockNumber, verbosity, withCycles) {
|
|
31
|
+
const block = await this.cache.getBlockByNumber(blockNumber);
|
|
32
|
+
if (block) {
|
|
33
|
+
return block;
|
|
34
|
+
}
|
|
35
|
+
const res = await this.getBlockByNumberNoCache(blockNumber, verbosity, withCycles);
|
|
36
|
+
if (res && hasHeaderConfirmed(res.header)) {
|
|
37
|
+
await this.cache.recordBlocks(res);
|
|
38
|
+
}
|
|
39
|
+
return res;
|
|
40
|
+
}
|
|
41
|
+
async getBlockByHash(blockHash, verbosity, withCycles) {
|
|
42
|
+
const block = await this.cache.getBlockByHash(blockHash);
|
|
43
|
+
if (block) {
|
|
44
|
+
return block;
|
|
45
|
+
}
|
|
46
|
+
const res = await this.getBlockByHashNoCache(blockHash, verbosity, withCycles);
|
|
47
|
+
if (res && hasHeaderConfirmed(res.header)) {
|
|
48
|
+
await this.cache.recordBlocks(res);
|
|
49
|
+
}
|
|
50
|
+
return res;
|
|
51
|
+
}
|
|
52
|
+
async getHeaderByNumber(blockNumber, verbosity) {
|
|
53
|
+
const header = await this.cache.getHeaderByNumber(blockNumber);
|
|
54
|
+
if (header) {
|
|
55
|
+
return header;
|
|
56
|
+
}
|
|
57
|
+
const res = await this.getHeaderByNumberNoCache(blockNumber, verbosity);
|
|
58
|
+
if (res && hasHeaderConfirmed(res)) {
|
|
59
|
+
await this.cache.recordHeaders(res);
|
|
60
|
+
}
|
|
61
|
+
return res;
|
|
62
|
+
}
|
|
63
|
+
async getHeaderByHash(blockHash, verbosity) {
|
|
64
|
+
const header = await this.cache.getHeaderByHash(blockHash);
|
|
65
|
+
if (header) {
|
|
66
|
+
return header;
|
|
67
|
+
}
|
|
68
|
+
const res = await this.getHeaderByHashNoCache(blockHash, verbosity);
|
|
69
|
+
if (res && hasHeaderConfirmed(res)) {
|
|
70
|
+
await this.cache.recordHeaders(res);
|
|
71
|
+
}
|
|
72
|
+
return res;
|
|
20
73
|
}
|
|
21
74
|
async getCell(outPointLike) {
|
|
22
75
|
const outPoint = index_js_1.OutPoint.from(outPointLike);
|
|
@@ -24,22 +77,39 @@ class Client {
|
|
|
24
77
|
if (cached) {
|
|
25
78
|
return cached;
|
|
26
79
|
}
|
|
27
|
-
const transaction = await this.
|
|
80
|
+
const transaction = await this.getTransaction(outPoint.txHash);
|
|
28
81
|
if (!transaction) {
|
|
29
82
|
return;
|
|
30
83
|
}
|
|
31
|
-
const
|
|
32
|
-
if (
|
|
84
|
+
const output = transaction.transaction.getOutput(outPoint.index);
|
|
85
|
+
if (!output) {
|
|
33
86
|
return;
|
|
34
87
|
}
|
|
35
88
|
const cell = index_js_1.Cell.from({
|
|
36
89
|
outPoint,
|
|
37
|
-
|
|
38
|
-
outputData: transaction.transaction.outputsData[index] ?? "0x",
|
|
90
|
+
...output,
|
|
39
91
|
});
|
|
40
92
|
await this.cache.recordCells(cell);
|
|
41
93
|
return cell;
|
|
42
94
|
}
|
|
95
|
+
async getCellWithHeader(outPointLike) {
|
|
96
|
+
const outPoint = index_js_1.OutPoint.from(outPointLike);
|
|
97
|
+
const res = await this.getTransactionWithHeader(outPoint.txHash);
|
|
98
|
+
if (!res) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const { transaction, header } = res;
|
|
102
|
+
const output = transaction.transaction.getOutput(outPoint.index);
|
|
103
|
+
if (!output) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
const cell = index_js_1.Cell.from({
|
|
107
|
+
outPoint,
|
|
108
|
+
...output,
|
|
109
|
+
});
|
|
110
|
+
await this.cache.recordCells(cell);
|
|
111
|
+
return { cell, header };
|
|
112
|
+
}
|
|
43
113
|
async getCellLive(outPointLike, withData, includeTxPool) {
|
|
44
114
|
const cell = await this.getCellLiveNoCache(outPointLike, withData, includeTxPool);
|
|
45
115
|
if (withData && cell) {
|
|
@@ -172,32 +242,53 @@ class Client {
|
|
|
172
242
|
async getBalance(locks) {
|
|
173
243
|
return (0, index_js_5.reduceAsync)(locks, async (acc, lock) => acc + (await this.getBalanceSingle(lock)), index_js_2.Zero);
|
|
174
244
|
}
|
|
175
|
-
async sendTransaction(transaction, validator) {
|
|
245
|
+
async sendTransaction(transaction, validator, options) {
|
|
176
246
|
const tx = index_js_1.Transaction.from(transaction);
|
|
247
|
+
const maxFeeRate = (0, index_js_4.numFrom)(options?.maxFeeRate ?? clientTypes_advanced_js_1.DEFAULT_MAX_FEE_RATE);
|
|
248
|
+
const fee = await tx.feeRate(this);
|
|
249
|
+
if (maxFeeRate > index_js_2.Zero && fee > maxFeeRate) {
|
|
250
|
+
throw new clientTypes_js_1.ErrorClientMaxFeeRateExceeded(maxFeeRate, fee);
|
|
251
|
+
}
|
|
177
252
|
const txHash = await this.sendTransactionNoCache(tx, validator);
|
|
178
|
-
await this.cache.recordTransactions(tx);
|
|
179
253
|
await this.cache.markTransactions(tx);
|
|
180
254
|
return txHash;
|
|
181
255
|
}
|
|
182
256
|
async getTransaction(txHashLike) {
|
|
183
257
|
const txHash = (0, index_js_3.hexFrom)(txHashLike);
|
|
184
258
|
const res = await this.getTransactionNoCache(txHash);
|
|
185
|
-
if (res
|
|
259
|
+
if (res) {
|
|
260
|
+
await this.cache.recordTransactionResponses(res);
|
|
186
261
|
return res;
|
|
187
262
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
263
|
+
return this.cache.getTransactionResponse(txHash);
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* This method gets specified transaction with its block header (if existed).
|
|
267
|
+
* This is mainly for caching because we need the header to test if we can safely trust the cached tx status.
|
|
268
|
+
* @param txHashLike
|
|
269
|
+
*/
|
|
270
|
+
async getTransactionWithHeader(txHashLike) {
|
|
271
|
+
const txHash = (0, index_js_3.hexFrom)(txHashLike);
|
|
272
|
+
const tx = await this.cache.getTransactionResponse(txHash);
|
|
273
|
+
if (tx?.blockHash) {
|
|
274
|
+
const header = await this.getHeaderByHash(tx.blockHash);
|
|
275
|
+
if (header && hasHeaderConfirmed(header)) {
|
|
276
|
+
return {
|
|
277
|
+
transaction: tx,
|
|
278
|
+
header,
|
|
279
|
+
};
|
|
280
|
+
}
|
|
191
281
|
}
|
|
282
|
+
const res = await this.getTransactionNoCache(txHash);
|
|
192
283
|
if (!res) {
|
|
193
|
-
return
|
|
194
|
-
transaction: tx,
|
|
195
|
-
status: "sent",
|
|
196
|
-
};
|
|
284
|
+
return;
|
|
197
285
|
}
|
|
286
|
+
await this.cache.recordTransactionResponses(res);
|
|
198
287
|
return {
|
|
199
|
-
|
|
200
|
-
|
|
288
|
+
transaction: res,
|
|
289
|
+
header: res.blockHash
|
|
290
|
+
? await this.getHeaderByHash(res.blockHash)
|
|
291
|
+
: undefined,
|
|
201
292
|
};
|
|
202
293
|
}
|
|
203
294
|
async waitTransaction(txHash, confirmations = 0, timeout = 60000, interval = 2000) {
|
|
@@ -227,7 +318,7 @@ class Client {
|
|
|
227
318
|
return tx;
|
|
228
319
|
}
|
|
229
320
|
if (Date.now() - startTime + interval >= timeout) {
|
|
230
|
-
throw new clientTypes_js_1.ErrorClientWaitTransactionTimeout();
|
|
321
|
+
throw new clientTypes_js_1.ErrorClientWaitTransactionTimeout(timeout);
|
|
231
322
|
}
|
|
232
323
|
await (0, index_js_5.sleep)(interval);
|
|
233
324
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientPublicMainnet.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicMainnet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAExE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAElD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAP,MAAM,CAAC,GAAE,mBAAmB,GAAG;QAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;KAC3D,aAAA;
|
|
1
|
+
{"version":3,"file":"clientPublicMainnet.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicMainnet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAExE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAElD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAP,MAAM,CAAC,GAAE,mBAAmB,GAAG;QAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;KAC3D,aAAA;IAuBH,IAAI,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC,CAE7D;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAEK,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAS/D"}
|
|
@@ -13,10 +13,21 @@ const index_js_1 = require("./jsonRpc/index.js");
|
|
|
13
13
|
*/
|
|
14
14
|
class ClientPublicMainnet extends index_js_1.ClientJsonRpc {
|
|
15
15
|
constructor(config) {
|
|
16
|
+
const hasWebSocket = typeof isomorphic_ws_1.default !== "undefined";
|
|
16
17
|
super(config?.url ??
|
|
17
|
-
(
|
|
18
|
+
(hasWebSocket
|
|
18
19
|
? "wss://mainnet.ckb.dev/ws"
|
|
19
|
-
: "https://mainnet.ckb.dev/"),
|
|
20
|
+
: "https://mainnet.ckb.dev/"), {
|
|
21
|
+
...config,
|
|
22
|
+
fallbacks: config?.fallbacks ??
|
|
23
|
+
(hasWebSocket
|
|
24
|
+
? [
|
|
25
|
+
"wss://mainnet.ckb.dev/ws",
|
|
26
|
+
"https://mainnet.ckb.dev/",
|
|
27
|
+
"https://mainnet.ckbapp.dev/",
|
|
28
|
+
]
|
|
29
|
+
: ["https://mainnet.ckb.dev/", "https://mainnet.ckbapp.dev/"]),
|
|
30
|
+
});
|
|
20
31
|
this.config = config;
|
|
21
32
|
}
|
|
22
33
|
get scripts() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientPublicTestnet.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicTestnet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAExE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAElD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAP,MAAM,CAAC,GAAE,mBAAmB,GAAG;QAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;KAC3D,aAAA;
|
|
1
|
+
{"version":3,"file":"clientPublicTestnet.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicTestnet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAExE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAElD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAP,MAAM,CAAC,GAAE,mBAAmB,GAAG;QAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;KAC3D,aAAA;IAuBH,IAAI,OAAO,IAAI,MAAM,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC,CAE7D;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAEK,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAS/D"}
|
|
@@ -13,10 +13,21 @@ const index_js_1 = require("./jsonRpc/index.js");
|
|
|
13
13
|
*/
|
|
14
14
|
class ClientPublicTestnet extends index_js_1.ClientJsonRpc {
|
|
15
15
|
constructor(config) {
|
|
16
|
+
const hasWebSocket = typeof isomorphic_ws_1.default !== "undefined";
|
|
16
17
|
super(config?.url ??
|
|
17
|
-
(
|
|
18
|
+
(hasWebSocket
|
|
18
19
|
? "wss://testnet.ckb.dev/ws"
|
|
19
|
-
: "https://testnet.ckb.dev/"),
|
|
20
|
+
: "https://testnet.ckb.dev/"), {
|
|
21
|
+
...config,
|
|
22
|
+
fallbacks: config?.fallbacks ??
|
|
23
|
+
(hasWebSocket
|
|
24
|
+
? [
|
|
25
|
+
"wss://testnet.ckb.dev/ws",
|
|
26
|
+
"https://testnet.ckb.dev/",
|
|
27
|
+
"https://testnet.ckbapp.dev/",
|
|
28
|
+
]
|
|
29
|
+
: ["https://testnet.ckb.dev/", "https://testnet.ckbapp.dev/"]),
|
|
30
|
+
});
|
|
20
31
|
this.config = config;
|
|
21
32
|
}
|
|
22
33
|
get scripts() {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { ScriptLike } from "../ckb/index.js";
|
|
2
2
|
import { HexLike } from "../hex/index.js";
|
|
3
3
|
import { Num, NumLike } from "../num/index.js";
|
|
4
|
+
export declare const CONFIRMED_BLOCK_TIME: bigint;
|
|
5
|
+
export declare const DEFAULT_MAX_FEE_RATE: bigint;
|
|
6
|
+
export declare const DEFAULT_MIN_FEE_RATE: bigint;
|
|
4
7
|
export declare function clientSearchKeyRangeFrom([a, b]: [NumLike, NumLike]): [
|
|
5
8
|
Num,
|
|
6
9
|
Num
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientTypes.advanced.d.ts","sourceRoot":"","sources":["../../src/client/clientTypes.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAW,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAExD,wBAAgB,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG;IACpE,GAAG;IACH,GAAG;CACJ,CAEA;AAED,MAAM,MAAM,oCAAoC,GAAG;IACjD,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,oBAAoB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IAC7D,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/C,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjD,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,gBAAgB,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACjD,MAAM,CAAC,EAAE,oCAAoC,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"clientTypes.advanced.d.ts","sourceRoot":"","sources":["../../src/client/clientTypes.advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAW,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAExD,eAAO,MAAM,oBAAoB,QAA0B,CAAC;AAC5D,eAAO,MAAM,oBAAoB,QAAoB,CAAC;AACtD,eAAO,MAAM,oBAAoB,QAAgB,CAAC;AAElD,wBAAgB,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG;IACpE,GAAG;IACH,GAAG;CACJ,CAEA;AAED,MAAM,MAAM,oCAAoC,GAAG;IACjD,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,oBAAoB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IAC7D,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/C,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACjD,CAAC;AACF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,gBAAgB,EAAE,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IACjD,MAAM,CAAC,EAAE,oCAAoC,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3B,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_MIN_FEE_RATE = exports.DEFAULT_MAX_FEE_RATE = exports.CONFIRMED_BLOCK_TIME = void 0;
|
|
3
4
|
exports.clientSearchKeyRangeFrom = clientSearchKeyRangeFrom;
|
|
4
5
|
const index_js_1 = require("../num/index.js");
|
|
6
|
+
exports.CONFIRMED_BLOCK_TIME = (0, index_js_1.numFrom)(1000 * 10 * 50); // 50 blocks * 10s
|
|
7
|
+
exports.DEFAULT_MAX_FEE_RATE = (0, index_js_1.numFrom)(10000000);
|
|
8
|
+
exports.DEFAULT_MIN_FEE_RATE = (0, index_js_1.numFrom)(1000);
|
|
5
9
|
function clientSearchKeyRangeFrom([a, b]) {
|
|
6
10
|
return [(0, index_js_1.numFrom)(a), (0, index_js_1.numFrom)(b)];
|
|
7
11
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Cell, CellDep, CellDepLike, Epoch, HashType, HashTypeLike, OutPoint, OutPointLike, Script, ScriptLike, Transaction } from "../ckb/index.js";
|
|
1
|
+
import { Cell, CellDep, CellDepLike, Epoch, EpochLike, HashType, HashTypeLike, OutPoint, OutPointLike, Script, ScriptLike, Transaction, TransactionLike } from "../ckb/index.js";
|
|
2
2
|
import { Hex, HexLike } from "../hex/index.js";
|
|
3
3
|
import { Num, NumLike } from "../num/index.js";
|
|
4
4
|
import { ClientCollectableSearchKeyFilterLike, ClientCollectableSearchKeyLike } from "./clientTypes.advanced.js";
|
|
@@ -72,15 +72,30 @@ export type TransactionStatus = "sent" | "pending" | "proposed" | "committed" |
|
|
|
72
72
|
/**
|
|
73
73
|
* @public
|
|
74
74
|
*/
|
|
75
|
-
export type
|
|
76
|
-
transaction:
|
|
75
|
+
export type ClientTransactionResponseLike = {
|
|
76
|
+
transaction: TransactionLike;
|
|
77
77
|
status: TransactionStatus;
|
|
78
|
-
cycles?:
|
|
79
|
-
blockHash?:
|
|
80
|
-
blockNumber?:
|
|
81
|
-
txIndex?:
|
|
78
|
+
cycles?: NumLike;
|
|
79
|
+
blockHash?: HexLike;
|
|
80
|
+
blockNumber?: NumLike;
|
|
81
|
+
txIndex?: NumLike;
|
|
82
82
|
reason?: string;
|
|
83
83
|
};
|
|
84
|
+
/**
|
|
85
|
+
* @public
|
|
86
|
+
*/
|
|
87
|
+
export declare class ClientTransactionResponse {
|
|
88
|
+
transaction: Transaction;
|
|
89
|
+
status: TransactionStatus;
|
|
90
|
+
cycles?: Num | undefined;
|
|
91
|
+
blockHash?: Hex | undefined;
|
|
92
|
+
blockNumber?: Num | undefined;
|
|
93
|
+
txIndex?: Num | undefined;
|
|
94
|
+
reason?: string | undefined;
|
|
95
|
+
constructor(transaction: Transaction, status: TransactionStatus, cycles?: Num | undefined, blockHash?: Hex | undefined, blockNumber?: Num | undefined, txIndex?: Num | undefined, reason?: string | undefined);
|
|
96
|
+
static from(responseLike: ClientTransactionResponseLike): ClientTransactionResponse;
|
|
97
|
+
clone(): ClientTransactionResponse;
|
|
98
|
+
}
|
|
84
99
|
/**
|
|
85
100
|
* @public
|
|
86
101
|
*/
|
|
@@ -176,7 +191,44 @@ export type ClientFindTransactionsGroupedResponse = {
|
|
|
176
191
|
/**
|
|
177
192
|
* @public
|
|
178
193
|
*/
|
|
179
|
-
export type
|
|
194
|
+
export type ClientBlockHeaderLike = {
|
|
195
|
+
compactTarget: NumLike;
|
|
196
|
+
dao: {
|
|
197
|
+
/**
|
|
198
|
+
* C_i: the total issuance up to and including block i.
|
|
199
|
+
*/
|
|
200
|
+
c: NumLike;
|
|
201
|
+
/**
|
|
202
|
+
* AR_i: the current accumulated rate at block i.
|
|
203
|
+
* AR_j / AR_i reflects the CKByte amount if one deposit 1 CKB to Nervos DAO at block i, and withdraw at block j.
|
|
204
|
+
*/
|
|
205
|
+
ar: NumLike;
|
|
206
|
+
/**
|
|
207
|
+
* S_i: the total unissued secondary issuance up to and including block i,
|
|
208
|
+
* including unclaimed Nervos DAO compensation and treasury funds.
|
|
209
|
+
*/
|
|
210
|
+
s: NumLike;
|
|
211
|
+
/**
|
|
212
|
+
* U_i: the total occupied capacities currently in the blockchain up to and including block i.
|
|
213
|
+
* Occupied capacity is the sum of capacities used to store all cells.
|
|
214
|
+
*/
|
|
215
|
+
u: NumLike;
|
|
216
|
+
};
|
|
217
|
+
epoch: EpochLike;
|
|
218
|
+
extraHash: HexLike;
|
|
219
|
+
hash: HexLike;
|
|
220
|
+
nonce: NumLike;
|
|
221
|
+
number: NumLike;
|
|
222
|
+
parentHash: HexLike;
|
|
223
|
+
proposalsHash: HexLike;
|
|
224
|
+
timestamp: NumLike;
|
|
225
|
+
transactionsRoot: HexLike;
|
|
226
|
+
version: NumLike;
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* @public
|
|
230
|
+
*/
|
|
231
|
+
export declare class ClientBlockHeader {
|
|
180
232
|
compactTarget: Num;
|
|
181
233
|
dao: {
|
|
182
234
|
/**
|
|
@@ -209,23 +261,65 @@ export type ClientBlockHeader = {
|
|
|
209
261
|
timestamp: Num;
|
|
210
262
|
transactionsRoot: Hex;
|
|
211
263
|
version: Num;
|
|
264
|
+
constructor(compactTarget: Num, dao: {
|
|
265
|
+
/**
|
|
266
|
+
* C_i: the total issuance up to and including block i.
|
|
267
|
+
*/
|
|
268
|
+
c: Num;
|
|
269
|
+
/**
|
|
270
|
+
* AR_i: the current accumulated rate at block i.
|
|
271
|
+
* AR_j / AR_i reflects the CKByte amount if one deposit 1 CKB to Nervos DAO at block i, and withdraw at block j.
|
|
272
|
+
*/
|
|
273
|
+
ar: Num;
|
|
274
|
+
/**
|
|
275
|
+
* S_i: the total unissued secondary issuance up to and including block i,
|
|
276
|
+
* including unclaimed Nervos DAO compensation and treasury funds.
|
|
277
|
+
*/
|
|
278
|
+
s: Num;
|
|
279
|
+
/**
|
|
280
|
+
* U_i: the total occupied capacities currently in the blockchain up to and including block i.
|
|
281
|
+
* Occupied capacity is the sum of capacities used to store all cells.
|
|
282
|
+
*/
|
|
283
|
+
u: Num;
|
|
284
|
+
}, epoch: Epoch, extraHash: Hex, hash: Hex, nonce: Num, number: Num, parentHash: Hex, proposalsHash: Hex, timestamp: Num, transactionsRoot: Hex, version: Num);
|
|
285
|
+
static from(headerLike: ClientBlockHeaderLike): ClientBlockHeader;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* @public
|
|
289
|
+
*/
|
|
290
|
+
export type ClientBlockUncleLike = {
|
|
291
|
+
header: ClientBlockHeaderLike;
|
|
292
|
+
proposals: HexLike[];
|
|
212
293
|
};
|
|
213
294
|
/**
|
|
214
295
|
* @public
|
|
215
296
|
*/
|
|
216
|
-
export
|
|
297
|
+
export declare class ClientBlockUncle {
|
|
217
298
|
header: ClientBlockHeader;
|
|
218
299
|
proposals: Hex[];
|
|
300
|
+
constructor(header: ClientBlockHeader, proposals: Hex[]);
|
|
301
|
+
static from(uncleLike: ClientBlockUncleLike): ClientBlockUncle;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* @public
|
|
305
|
+
*/
|
|
306
|
+
export type ClientBlockLike = {
|
|
307
|
+
header: ClientBlockHeaderLike;
|
|
308
|
+
proposals: HexLike[];
|
|
309
|
+
transactions: TransactionLike[];
|
|
310
|
+
uncles: ClientBlockUncleLike[];
|
|
219
311
|
};
|
|
220
312
|
/**
|
|
221
313
|
* @public
|
|
222
314
|
*/
|
|
223
|
-
export
|
|
315
|
+
export declare class ClientBlock {
|
|
224
316
|
header: ClientBlockHeader;
|
|
225
317
|
proposals: Hex[];
|
|
226
318
|
transactions: Transaction[];
|
|
227
319
|
uncles: ClientBlockUncle[];
|
|
228
|
-
|
|
320
|
+
constructor(header: ClientBlockHeader, proposals: Hex[], transactions: Transaction[], uncles: ClientBlockUncle[]);
|
|
321
|
+
static from(blockLike: ClientBlockLike): ClientBlock;
|
|
322
|
+
}
|
|
229
323
|
export interface ErrorClientBaseLike {
|
|
230
324
|
message?: string;
|
|
231
325
|
code?: number;
|
|
@@ -257,7 +351,10 @@ export declare class ErrorClientRBFRejected extends ErrorClientBase {
|
|
|
257
351
|
readonly leastFee: Num;
|
|
258
352
|
constructor(origin: ErrorClientBaseLike, currentFee: NumLike, leastFee: NumLike);
|
|
259
353
|
}
|
|
260
|
-
export declare class ErrorClientWaitTransactionTimeout extends
|
|
261
|
-
constructor();
|
|
354
|
+
export declare class ErrorClientWaitTransactionTimeout extends ErrorClientBase {
|
|
355
|
+
constructor(timeoutLike: NumLike);
|
|
356
|
+
}
|
|
357
|
+
export declare class ErrorClientMaxFeeRateExceeded extends ErrorClientBase {
|
|
358
|
+
constructor(limitLike: NumLike, actualLike: NumLike);
|
|
262
359
|
}
|
|
263
360
|
//# sourceMappingURL=clientTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientTypes.d.ts","sourceRoot":"","sources":["../../src/client/clientTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,WAAW,EACX,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,UAAU,EACV,WAAW,
|
|
1
|
+
{"version":3,"file":"clientTypes.d.ts","sourceRoot":"","sources":["../../src/client/clientTypes.ts"],"names":[],"mappings":"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"}
|