@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
|
@@ -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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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CellDep, OutPoint, Script, hashTypeFrom, } from "../ckb/index.js";
|
|
1
|
+
import { CellDep, OutPoint, Script, Transaction, epochFrom, hashTypeFrom, } from "../ckb/index.js";
|
|
2
2
|
import { hexFrom } from "../hex/index.js";
|
|
3
3
|
import { numFrom } from "../num/index.js";
|
|
4
4
|
import { apply } from "../utils/index.js";
|
|
@@ -39,6 +39,9 @@ export class CellDepInfo {
|
|
|
39
39
|
this.type = type;
|
|
40
40
|
}
|
|
41
41
|
static from(cellDepInfoLike) {
|
|
42
|
+
if (cellDepInfoLike instanceof CellDepInfo) {
|
|
43
|
+
return cellDepInfoLike;
|
|
44
|
+
}
|
|
42
45
|
return new CellDepInfo(CellDep.from(cellDepInfoLike.cellDep), apply(Script.from, cellDepInfoLike.type));
|
|
43
46
|
}
|
|
44
47
|
}
|
|
@@ -52,9 +55,35 @@ export class ScriptInfo {
|
|
|
52
55
|
this.cellDeps = cellDeps;
|
|
53
56
|
}
|
|
54
57
|
static from(scriptInfoLike) {
|
|
58
|
+
if (scriptInfoLike instanceof ScriptInfo) {
|
|
59
|
+
return scriptInfoLike;
|
|
60
|
+
}
|
|
55
61
|
return new ScriptInfo(hexFrom(scriptInfoLike.codeHash), hashTypeFrom(scriptInfoLike.hashType), scriptInfoLike.cellDeps.map((c) => CellDepInfo.from(c)));
|
|
56
62
|
}
|
|
57
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* @public
|
|
66
|
+
*/
|
|
67
|
+
export class ClientTransactionResponse {
|
|
68
|
+
constructor(transaction, status, cycles, blockHash, blockNumber, txIndex, reason) {
|
|
69
|
+
this.transaction = transaction;
|
|
70
|
+
this.status = status;
|
|
71
|
+
this.cycles = cycles;
|
|
72
|
+
this.blockHash = blockHash;
|
|
73
|
+
this.blockNumber = blockNumber;
|
|
74
|
+
this.txIndex = txIndex;
|
|
75
|
+
this.reason = reason;
|
|
76
|
+
}
|
|
77
|
+
static from(responseLike) {
|
|
78
|
+
if (responseLike instanceof ClientTransactionResponse) {
|
|
79
|
+
return responseLike;
|
|
80
|
+
}
|
|
81
|
+
return new ClientTransactionResponse(Transaction.from(responseLike.transaction), responseLike.status, apply(numFrom, responseLike.cycles), apply(hexFrom, responseLike.blockHash), apply(numFrom, responseLike.blockNumber), apply(numFrom, responseLike.txIndex), responseLike.reason);
|
|
82
|
+
}
|
|
83
|
+
clone() {
|
|
84
|
+
return new ClientTransactionResponse(this.transaction.clone(), this.status, this.cycles, this.blockHash, this.blockNumber, this.txIndex, this.reason);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
58
87
|
/**
|
|
59
88
|
* @public
|
|
60
89
|
*/
|
|
@@ -69,6 +98,9 @@ export class ClientIndexerSearchKeyFilter {
|
|
|
69
98
|
this.blockRange = blockRange;
|
|
70
99
|
}
|
|
71
100
|
static from(filterLike) {
|
|
101
|
+
if (filterLike instanceof ClientIndexerSearchKeyFilter) {
|
|
102
|
+
return filterLike;
|
|
103
|
+
}
|
|
72
104
|
return new ClientIndexerSearchKeyFilter(apply(Script.from, filterLike.script), apply(clientSearchKeyRangeFrom, filterLike.scriptLenRange), apply(hexFrom, filterLike.outputData), filterLike.outputDataSearchMode ?? undefined, apply(clientSearchKeyRangeFrom, filterLike.outputDataLenRange), apply(clientSearchKeyRangeFrom, filterLike.outputCapacityRange), apply(clientSearchKeyRangeFrom, filterLike.blockRange));
|
|
73
105
|
}
|
|
74
106
|
}
|
|
@@ -84,6 +116,9 @@ export class ClientIndexerSearchKey {
|
|
|
84
116
|
this.withData = withData;
|
|
85
117
|
}
|
|
86
118
|
static from(keyLike) {
|
|
119
|
+
if (keyLike instanceof ClientIndexerSearchKey) {
|
|
120
|
+
return keyLike;
|
|
121
|
+
}
|
|
87
122
|
return new ClientIndexerSearchKey(Script.from(keyLike.script), keyLike.scriptType, keyLike.scriptSearchMode, apply(ClientIndexerSearchKeyFilter.from, keyLike.filter), keyLike.withData ?? undefined);
|
|
88
123
|
}
|
|
89
124
|
}
|
|
@@ -99,9 +134,74 @@ export class ClientIndexerSearchKeyTransaction {
|
|
|
99
134
|
this.groupByTransaction = groupByTransaction;
|
|
100
135
|
}
|
|
101
136
|
static from(keyLike) {
|
|
137
|
+
if (keyLike instanceof ClientIndexerSearchKeyTransaction) {
|
|
138
|
+
return keyLike;
|
|
139
|
+
}
|
|
102
140
|
return new ClientIndexerSearchKeyTransaction(Script.from(keyLike.script), keyLike.scriptType, keyLike.scriptSearchMode, apply(ClientIndexerSearchKeyFilter.from, keyLike.filter), keyLike.groupByTransaction ?? undefined);
|
|
103
141
|
}
|
|
104
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* @public
|
|
145
|
+
*/
|
|
146
|
+
export class ClientBlockHeader {
|
|
147
|
+
constructor(compactTarget, dao, epoch, extraHash, hash, nonce, number, parentHash, proposalsHash, timestamp, transactionsRoot, version) {
|
|
148
|
+
this.compactTarget = compactTarget;
|
|
149
|
+
this.dao = dao;
|
|
150
|
+
this.epoch = epoch;
|
|
151
|
+
this.extraHash = extraHash;
|
|
152
|
+
this.hash = hash;
|
|
153
|
+
this.nonce = nonce;
|
|
154
|
+
this.number = number;
|
|
155
|
+
this.parentHash = parentHash;
|
|
156
|
+
this.proposalsHash = proposalsHash;
|
|
157
|
+
this.timestamp = timestamp;
|
|
158
|
+
this.transactionsRoot = transactionsRoot;
|
|
159
|
+
this.version = version;
|
|
160
|
+
}
|
|
161
|
+
static from(headerLike) {
|
|
162
|
+
if (headerLike instanceof ClientBlockHeader) {
|
|
163
|
+
return headerLike;
|
|
164
|
+
}
|
|
165
|
+
return new ClientBlockHeader(numFrom(headerLike.compactTarget), {
|
|
166
|
+
c: numFrom(headerLike.dao.c),
|
|
167
|
+
ar: numFrom(headerLike.dao.ar),
|
|
168
|
+
s: numFrom(headerLike.dao.s),
|
|
169
|
+
u: numFrom(headerLike.dao.u),
|
|
170
|
+
}, epochFrom(headerLike.epoch), hexFrom(headerLike.extraHash), hexFrom(headerLike.hash), numFrom(headerLike.nonce), numFrom(headerLike.number), hexFrom(headerLike.parentHash), hexFrom(headerLike.proposalsHash), numFrom(headerLike.timestamp), hexFrom(headerLike.transactionsRoot), numFrom(headerLike.version));
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* @public
|
|
175
|
+
*/
|
|
176
|
+
export class ClientBlockUncle {
|
|
177
|
+
constructor(header, proposals) {
|
|
178
|
+
this.header = header;
|
|
179
|
+
this.proposals = proposals;
|
|
180
|
+
}
|
|
181
|
+
static from(uncleLike) {
|
|
182
|
+
if (uncleLike instanceof ClientBlockUncle) {
|
|
183
|
+
return uncleLike;
|
|
184
|
+
}
|
|
185
|
+
return new ClientBlockUncle(ClientBlockHeader.from(uncleLike.header), uncleLike.proposals.map(hexFrom));
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* @public
|
|
190
|
+
*/
|
|
191
|
+
export class ClientBlock {
|
|
192
|
+
constructor(header, proposals, transactions, uncles) {
|
|
193
|
+
this.header = header;
|
|
194
|
+
this.proposals = proposals;
|
|
195
|
+
this.transactions = transactions;
|
|
196
|
+
this.uncles = uncles;
|
|
197
|
+
}
|
|
198
|
+
static from(blockLike) {
|
|
199
|
+
if (blockLike instanceof ClientBlock) {
|
|
200
|
+
return blockLike;
|
|
201
|
+
}
|
|
202
|
+
return new ClientBlock(ClientBlockHeader.from(blockLike.header), blockLike.proposals.map(hexFrom), blockLike.transactions.map(Transaction.from), blockLike.uncles.map(ClientBlockUncle.from));
|
|
203
|
+
}
|
|
204
|
+
}
|
|
105
205
|
export class ErrorClientBase extends Error {
|
|
106
206
|
constructor(origin) {
|
|
107
207
|
super(`Client request error ${origin.message}`);
|
|
@@ -138,8 +238,22 @@ export class ErrorClientRBFRejected extends ErrorClientBase {
|
|
|
138
238
|
this.leastFee = numFrom(leastFee);
|
|
139
239
|
}
|
|
140
240
|
}
|
|
141
|
-
export class ErrorClientWaitTransactionTimeout extends
|
|
142
|
-
constructor() {
|
|
143
|
-
|
|
241
|
+
export class ErrorClientWaitTransactionTimeout extends ErrorClientBase {
|
|
242
|
+
constructor(timeoutLike) {
|
|
243
|
+
const timeout = numFrom(timeoutLike).toString();
|
|
244
|
+
super({
|
|
245
|
+
message: `Wait transaction timeout ${timeout}ms`,
|
|
246
|
+
data: JSON.stringify({ timeout }),
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
export class ErrorClientMaxFeeRateExceeded extends ErrorClientBase {
|
|
251
|
+
constructor(limitLike, actualLike) {
|
|
252
|
+
const limit = numFrom(limitLike).toString();
|
|
253
|
+
const actual = numFrom(actualLike).toString();
|
|
254
|
+
super({
|
|
255
|
+
message: `Max fee rate exceeded limit ${limit}, actual ${actual}. Developer might forgot to complete transaction fee before sending. See https://docs.ckbccc.com/classes/_ckb_ccc_core.index.ccc.Transaction.html#completeFeeBy.`,
|
|
256
|
+
data: JSON.stringify({ limit, actual }),
|
|
257
|
+
});
|
|
144
258
|
}
|
|
145
259
|
}
|
|
@@ -55,7 +55,7 @@ export declare abstract class ClientJsonRpc extends Client {
|
|
|
55
55
|
* @param withCycles - whether the return cycles of block transactions. (Optional, default false.)
|
|
56
56
|
* @returns Block
|
|
57
57
|
*/
|
|
58
|
-
|
|
58
|
+
getBlockByNumberNoCache: Client["getBlockByNumberNoCache"];
|
|
59
59
|
/**
|
|
60
60
|
* Get block by block hash
|
|
61
61
|
*
|
|
@@ -64,7 +64,7 @@ export declare abstract class ClientJsonRpc extends Client {
|
|
|
64
64
|
* @param withCycles - whether the return cycles of block transactions. (Optional, default false.)
|
|
65
65
|
* @returns Block
|
|
66
66
|
*/
|
|
67
|
-
|
|
67
|
+
getBlockByHashNoCache: Client["getBlockByHashNoCache"];
|
|
68
68
|
/**
|
|
69
69
|
* Get header by block number
|
|
70
70
|
*
|
|
@@ -72,7 +72,7 @@ export declare abstract class ClientJsonRpc extends Client {
|
|
|
72
72
|
* @param verbosity - result format which allows 0 and 1. (Optional, the default is 1.)
|
|
73
73
|
* @returns BlockHeader
|
|
74
74
|
*/
|
|
75
|
-
|
|
75
|
+
getHeaderByNumberNoCache: Client["getHeaderByNumberNoCache"];
|
|
76
76
|
/**
|
|
77
77
|
* Get header by block hash
|
|
78
78
|
*
|
|
@@ -80,7 +80,7 @@ export declare abstract class ClientJsonRpc extends Client {
|
|
|
80
80
|
* @param verbosity - result format which allows 0 and 1. (Optional, the default is 1.)
|
|
81
81
|
* @returns BlockHeader
|
|
82
82
|
*/
|
|
83
|
-
|
|
83
|
+
getHeaderByHashNoCache: Client["getHeaderByHashNoCache"];
|
|
84
84
|
/**
|
|
85
85
|
* Estimate cycles of a transaction.
|
|
86
86
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EAEJ,YAAY,EACZ,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EAOzB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AA2C3B,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG;IACzD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,8BAAsB,aAAc,SAAQ,MAAM;IAChD,SAAgB,SAAS,EAAE,gBAAgB,CAAC;IAE5C;;;;;OAKG;gBAES,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB;IA2BtD;;;;OAIG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;;;OAIG;IAEH,oBAAoB,EAOf,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAEpC;;;;OAIG;IAEH,MAAM,EAID,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAExB;;;;;OAKG;IACH,YAAY,EAIP,MAAM,CAAC,cAAc,CAAC,CAAC;IAE5B;;;;;;;OAOG;IACH,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ export class ClientJsonRpc extends Client {
|
|
|
71
71
|
* @param withCycles - whether the return cycles of block transactions. (Optional, default false.)
|
|
72
72
|
* @returns Block
|
|
73
73
|
*/
|
|
74
|
-
this.
|
|
74
|
+
this.getBlockByNumberNoCache = this.buildSender("get_block_by_number", [(v) => numToHex(numFrom(v))], (b) => apply(JsonRpcTransformers.blockTo, b));
|
|
75
75
|
/**
|
|
76
76
|
* Get block by block hash
|
|
77
77
|
*
|
|
@@ -80,7 +80,7 @@ export class ClientJsonRpc extends Client {
|
|
|
80
80
|
* @param withCycles - whether the return cycles of block transactions. (Optional, default false.)
|
|
81
81
|
* @returns Block
|
|
82
82
|
*/
|
|
83
|
-
this.
|
|
83
|
+
this.getBlockByHashNoCache = this.buildSender("get_block", [hexFrom], (b) => apply(JsonRpcTransformers.blockTo, b));
|
|
84
84
|
/**
|
|
85
85
|
* Get header by block number
|
|
86
86
|
*
|
|
@@ -88,7 +88,7 @@ export class ClientJsonRpc extends Client {
|
|
|
88
88
|
* @param verbosity - result format which allows 0 and 1. (Optional, the default is 1.)
|
|
89
89
|
* @returns BlockHeader
|
|
90
90
|
*/
|
|
91
|
-
this.
|
|
91
|
+
this.getHeaderByNumberNoCache = this.buildSender("get_header_by_number", [(v) => numToHex(numFrom(v))], (b) => apply(JsonRpcTransformers.blockHeaderTo, b));
|
|
92
92
|
/**
|
|
93
93
|
* Get header by block hash
|
|
94
94
|
*
|
|
@@ -96,7 +96,7 @@ export class ClientJsonRpc extends Client {
|
|
|
96
96
|
* @param verbosity - result format which allows 0 and 1. (Optional, the default is 1.)
|
|
97
97
|
* @returns BlockHeader
|
|
98
98
|
*/
|
|
99
|
-
this.
|
|
99
|
+
this.getHeaderByHashNoCache = this.buildSender("get_header", [hexFrom], (b) => apply(JsonRpcTransformers.blockHeaderTo, b));
|
|
100
100
|
/**
|
|
101
101
|
* Estimate cycles of a transaction.
|
|
102
102
|
*
|
|
@@ -3,7 +3,7 @@ import { Cell, CellDep, CellInput, CellOutput, OutPoint, Script, Transaction, de
|
|
|
3
3
|
import { hexFrom } from "../../hex/index.js";
|
|
4
4
|
import { numFrom, numLeFromBytes, numToHex } from "../../num/index.js";
|
|
5
5
|
import { apply } from "../../utils/index.js";
|
|
6
|
-
import { ClientIndexerSearchKey, ClientIndexerSearchKeyTransaction, } from "../clientTypes.js";
|
|
6
|
+
import { ClientIndexerSearchKey, ClientIndexerSearchKeyTransaction, ClientTransactionResponse, } from "../clientTypes.js";
|
|
7
7
|
export class JsonRpcTransformers {
|
|
8
8
|
static hashTypeFrom(hashType) {
|
|
9
9
|
return hashTypeFrom(hashType);
|
|
@@ -121,7 +121,7 @@ export class JsonRpcTransformers {
|
|
|
121
121
|
if (transaction == null) {
|
|
122
122
|
return;
|
|
123
123
|
}
|
|
124
|
-
return {
|
|
124
|
+
return ClientTransactionResponse.from({
|
|
125
125
|
transaction: JsonRpcTransformers.transactionTo(transaction),
|
|
126
126
|
status,
|
|
127
127
|
cycles: apply(numFrom, cycles),
|
|
@@ -129,7 +129,7 @@ export class JsonRpcTransformers {
|
|
|
129
129
|
blockNumber: apply(numFrom, block_number),
|
|
130
130
|
txIndex: apply(numFrom, tx_index),
|
|
131
131
|
reason,
|
|
132
|
-
};
|
|
132
|
+
});
|
|
133
133
|
}
|
|
134
134
|
static blockHeaderTo(header) {
|
|
135
135
|
const dao = bytesFrom(header.dao);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestor.d.ts","sourceRoot":"","sources":["../../src/jsonRpc/requestor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,SAAS,
|
|
1
|
+
{"version":3,"file":"requestor.d.ts","sourceRoot":"","sources":["../../src/jsonRpc/requestor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,SAAS,EAGV,MAAM,0BAA0B,CAAC;AAsBlC,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,qBAAa,gBAAgB;IAgBzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAjB3B,SAAgB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAE9C,SAAgB,SAAS,EAAE,SAAS,CAAC;IAErC,OAAO,CAAC,EAAE,CAAK;IAEf;;;;;OAKG;gBAEgB,IAAI,EAAE,MAAM,EAC7B,MAAM,CAAC,EAAE,sBAAsB,EACd,OAAO,CAAC,GAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,aAAA;IAanE;;;;OAIG;IAEH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;;;;;;;OAQG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EAAE,EAEjB,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC,EAAE,EAEtD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,GACnC,OAAO,CAAC,OAAO,CAAC;IA6Bb,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA6B/D;;;;;;OAMG;IAEH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,cAAc;CAQ7D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { transportFromUri, } from "./transports/advanced.js";
|
|
1
|
+
import { TransportFallback, transportFromUri, } from "./transports/advanced.js";
|
|
2
2
|
/**
|
|
3
3
|
* Applies a transformation function to a value if the transformer is provided.
|
|
4
4
|
*
|
|
@@ -32,7 +32,9 @@ export class RequestorJsonRpc {
|
|
|
32
32
|
this.pending = [];
|
|
33
33
|
this.id = 0;
|
|
34
34
|
this.maxConcurrent = config?.maxConcurrent;
|
|
35
|
-
this.transport =
|
|
35
|
+
this.transport =
|
|
36
|
+
config?.transport ??
|
|
37
|
+
new TransportFallback(Array.from(new Set([url_, ...(config?.fallbacks ?? [])]).values(), (url) => transportFromUri(url, config)));
|
|
36
38
|
}
|
|
37
39
|
/**
|
|
38
40
|
* Returns the URL of the JSON-RPC server.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../../src/jsonRpc/transports/advanced.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../../src/jsonRpc/transports/advanced.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { JsonRpcPayload, Transport } from "./transport.js";
|
|
2
|
+
export declare class TransportFallback implements Transport {
|
|
3
|
+
private readonly transports;
|
|
4
|
+
private i;
|
|
5
|
+
constructor(transports: Transport[]);
|
|
6
|
+
request(data: JsonRpcPayload): Promise<unknown>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../../src/jsonRpc/transports/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,iBAAkB,YAAW,SAAS;IAIrC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAFvC,OAAO,CAAC,CAAC,CAAK;gBAEe,UAAU,EAAE,SAAS,EAAE;IAE9C,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;CAkBtD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export class TransportFallback {
|
|
2
|
+
constructor(transports) {
|
|
3
|
+
this.transports = transports;
|
|
4
|
+
// Current transport index
|
|
5
|
+
this.i = 0;
|
|
6
|
+
}
|
|
7
|
+
async request(data) {
|
|
8
|
+
let triedCount = 0;
|
|
9
|
+
while (true) {
|
|
10
|
+
try {
|
|
11
|
+
return await this.transports[this.i % this.transports.length].request(data);
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
triedCount += 1;
|
|
15
|
+
this.i += 1;
|
|
16
|
+
if (triedCount >= this.transports.length) {
|
|
17
|
+
throw err;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webSocket.d.ts","sourceRoot":"","sources":["../../../src/jsonRpc/transports/webSocket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,kBAAmB,YAAW,SAAS;IAahD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAb1B,OAAO,CAAC,OAAO,CAOD;IACd,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAqB;gBAGrB,GAAG,EAAE,MAAM,EACX,OAAO,SAAQ;IAGlC,OAAO,CAAC,IAAI,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"webSocket.d.ts","sourceRoot":"","sources":["../../../src/jsonRpc/transports/webSocket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,kBAAmB,YAAW,SAAS;IAahD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAb1B,OAAO,CAAC,OAAO,CAOD;IACd,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,UAAU,CAAC,CAAqB;gBAGrB,GAAG,EAAE,MAAM,EACX,OAAO,SAAQ;IAGlC,OAAO,CAAC,IAAI,EAAE,cAAc;CA6F7B"}
|
|
@@ -62,12 +62,15 @@ export class TransportWebSocket {
|
|
|
62
62
|
reject,
|
|
63
63
|
setTimeout(() => {
|
|
64
64
|
this.ongoing.delete(data.id);
|
|
65
|
-
void socket
|
|
65
|
+
void socket
|
|
66
|
+
.then((socket) => socket.close())
|
|
67
|
+
.catch((err) => reject(err));
|
|
66
68
|
reject(new Error("Request timeout"));
|
|
67
69
|
}, this.timeout),
|
|
68
70
|
];
|
|
69
71
|
this.ongoing.set(data.id, req);
|
|
70
|
-
void socket
|
|
72
|
+
void socket
|
|
73
|
+
.then((socket) => {
|
|
71
74
|
if (socket.readyState === socket.CLOSED ||
|
|
72
75
|
socket.readyState === socket.CLOSING) {
|
|
73
76
|
clearTimeout(req[2]);
|
|
@@ -77,7 +80,8 @@ export class TransportWebSocket {
|
|
|
77
80
|
else {
|
|
78
81
|
socket.send(JSON.stringify(data));
|
|
79
82
|
}
|
|
80
|
-
})
|
|
83
|
+
})
|
|
84
|
+
.catch((err) => reject(err));
|
|
81
85
|
});
|
|
82
86
|
}
|
|
83
87
|
}
|