@ckb-ccc/core 0.0.13-alpha.0 → 0.0.13-alpha.2
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 +14 -0
- package/dist/ckb/transaction.d.ts.map +1 -1
- package/dist/ckb/transaction.js +17 -10
- package/dist/client/advanced.d.ts +2 -1
- package/dist/client/advanced.d.ts.map +1 -1
- package/dist/client/advanced.js +2 -1
- package/dist/client/cache/advanced.d.ts +2 -0
- package/dist/client/cache/advanced.d.ts.map +1 -0
- package/dist/client/cache/advanced.js +1 -0
- package/dist/client/cache/cache.d.ts +14 -0
- package/dist/client/cache/cache.d.ts.map +1 -0
- package/dist/client/cache/cache.js +1 -0
- package/dist/client/cache/index.d.ts +3 -0
- package/dist/client/cache/index.d.ts.map +1 -0
- package/dist/client/cache/index.js +2 -0
- package/dist/client/{client.advanced.d.ts → cache/memory.advanced.d.ts} +5 -5
- package/dist/client/cache/memory.advanced.d.ts.map +1 -0
- package/dist/client/{client.advanced.js → cache/memory.advanced.js} +6 -6
- package/dist/client/cache/memory.d.ts +19 -0
- package/dist/client/cache/memory.d.ts.map +1 -0
- package/dist/client/cache/memory.js +54 -0
- package/dist/client/client.d.ts +4 -7
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +22 -39
- package/dist/client/clientPublicMainnet.d.ts.map +1 -1
- package/dist/client/clientPublicMainnet.js +5 -2
- package/dist/client/clientPublicTestnet.d.ts.map +1 -1
- package/dist/client/clientPublicTestnet.js +5 -2
- package/dist/client/clientTypes.d.ts +1 -1
- package/dist/client/clientTypes.d.ts.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/jsonRpc/index.d.ts +5 -4
- package/dist/client/jsonRpc/index.d.ts.map +1 -1
- package/dist/client/jsonRpc/index.js +5 -15
- package/dist/client/jsonRpc/types.d.ts +0 -6
- package/dist/client/jsonRpc/types.d.ts.map +1 -1
- package/dist/client/transports/advanced.d.ts +9 -0
- package/dist/client/transports/advanced.d.ts.map +1 -0
- package/dist/client/transports/advanced.js +11 -0
- package/dist/client/transports/http.d.ts +8 -0
- package/dist/client/transports/http.d.ts.map +1 -0
- package/dist/client/transports/http.js +20 -0
- package/dist/client/transports/transport.d.ts +10 -0
- package/dist/client/transports/transport.d.ts.map +1 -0
- package/dist/client/transports/transport.js +1 -0
- package/dist/client/transports/webSocket.d.ts +10 -0
- package/dist/client/transports/webSocket.d.ts.map +1 -0
- package/dist/client/transports/webSocket.js +61 -0
- package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
- package/dist.commonjs/ckb/transaction.js +17 -10
- package/dist.commonjs/client/advanced.d.ts +2 -1
- package/dist.commonjs/client/advanced.d.ts.map +1 -1
- package/dist.commonjs/client/advanced.js +2 -1
- package/dist.commonjs/client/cache/advanced.d.ts +2 -0
- package/dist.commonjs/client/cache/advanced.d.ts.map +1 -0
- package/dist.commonjs/client/cache/advanced.js +17 -0
- package/dist.commonjs/client/cache/cache.d.ts +14 -0
- package/dist.commonjs/client/cache/cache.d.ts.map +1 -0
- package/dist.commonjs/client/cache/cache.js +2 -0
- package/dist.commonjs/client/cache/index.d.ts +3 -0
- package/dist.commonjs/client/cache/index.d.ts.map +1 -0
- package/dist.commonjs/client/cache/index.js +18 -0
- package/dist.commonjs/client/{client.advanced.d.ts → cache/memory.advanced.d.ts} +5 -5
- package/dist.commonjs/client/cache/memory.advanced.d.ts.map +1 -0
- package/dist.commonjs/client/{client.advanced.js → cache/memory.advanced.js} +6 -6
- package/dist.commonjs/client/cache/memory.d.ts +19 -0
- package/dist.commonjs/client/cache/memory.d.ts.map +1 -0
- package/dist.commonjs/client/cache/memory.js +58 -0
- package/dist.commonjs/client/client.d.ts +4 -7
- package/dist.commonjs/client/client.d.ts.map +1 -1
- package/dist.commonjs/client/client.js +22 -39
- package/dist.commonjs/client/clientPublicMainnet.d.ts.map +1 -1
- package/dist.commonjs/client/clientPublicMainnet.js +5 -2
- package/dist.commonjs/client/clientPublicTestnet.d.ts.map +1 -1
- package/dist.commonjs/client/clientPublicTestnet.js +5 -2
- package/dist.commonjs/client/clientTypes.d.ts +1 -1
- package/dist.commonjs/client/clientTypes.d.ts.map +1 -1
- package/dist.commonjs/client/index.d.ts +1 -0
- package/dist.commonjs/client/index.d.ts.map +1 -1
- package/dist.commonjs/client/index.js +1 -0
- package/dist.commonjs/client/jsonRpc/index.d.ts +5 -4
- package/dist.commonjs/client/jsonRpc/index.d.ts.map +1 -1
- package/dist.commonjs/client/jsonRpc/index.js +15 -28
- package/dist.commonjs/client/jsonRpc/types.d.ts +0 -6
- package/dist.commonjs/client/jsonRpc/types.d.ts.map +1 -1
- package/dist.commonjs/client/transports/advanced.d.ts +9 -0
- package/dist.commonjs/client/transports/advanced.d.ts.map +1 -0
- package/dist.commonjs/client/transports/advanced.js +29 -0
- package/dist.commonjs/client/transports/http.d.ts +8 -0
- package/dist.commonjs/client/transports/http.d.ts.map +1 -0
- package/dist.commonjs/client/transports/http.js +24 -0
- package/dist.commonjs/client/transports/transport.d.ts +10 -0
- package/dist.commonjs/client/transports/transport.d.ts.map +1 -0
- package/dist.commonjs/client/transports/transport.js +2 -0
- package/dist.commonjs/client/transports/webSocket.d.ts +10 -0
- package/dist.commonjs/client/transports/webSocket.d.ts.map +1 -0
- package/dist.commonjs/client/transports/webSocket.js +65 -0
- package/package.json +1 -1
- package/src/ckb/transaction.ts +24 -16
- package/src/client/advanced.ts +2 -1
- package/src/client/cache/advanced.ts +1 -0
- package/src/client/cache/cache.ts +25 -0
- package/src/client/cache/index.ts +2 -0
- package/src/client/{client.advanced.ts → cache/memory.advanced.ts} +6 -6
- package/src/client/cache/memory.ts +75 -0
- package/src/client/client.ts +23 -44
- package/src/client/clientPublicMainnet.ts +8 -2
- package/src/client/clientPublicTestnet.ts +8 -2
- package/src/client/clientTypes.ts +1 -0
- package/src/client/index.ts +1 -0
- package/src/client/jsonRpc/index.ts +13 -19
- package/src/client/jsonRpc/types.ts +0 -7
- package/src/client/transports/advanced.ts +14 -0
- package/src/client/transports/http.ts +26 -0
- package/src/client/transports/transport.ts +10 -0
- package/src/client/transports/webSocket.ts +81 -0
- package/dist/client/client.advanced.d.ts.map +0 -1
- package/dist.commonjs/client/client.advanced.d.ts.map +0 -1
|
@@ -6,7 +6,7 @@ const index_js_2 = require("../fixedPoint/index.js");
|
|
|
6
6
|
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
|
-
const
|
|
9
|
+
const memory_js_1 = require("./cache/memory.js");
|
|
10
10
|
const clientTypes_js_1 = require("./clientTypes.js");
|
|
11
11
|
/**
|
|
12
12
|
* @public
|
|
@@ -44,34 +44,14 @@ exports.CellDepInfo = CellDepInfo;
|
|
|
44
44
|
* @public
|
|
45
45
|
*/
|
|
46
46
|
class Client {
|
|
47
|
-
constructor() {
|
|
48
|
-
this.
|
|
49
|
-
this.unusableOutPoints = [];
|
|
50
|
-
this.usableCells = [];
|
|
51
|
-
this.knownCells = [];
|
|
52
|
-
}
|
|
53
|
-
async markUsable(cellLike) {
|
|
54
|
-
const cell = index_js_1.Cell.from(cellLike).clone();
|
|
55
|
-
this.usableCells.push(cell);
|
|
56
|
-
this.knownCells.push(cell);
|
|
57
|
-
const index = this.unusableOutPoints.findIndex((o) => cell.outPoint.eq(o));
|
|
58
|
-
if (index !== -1) {
|
|
59
|
-
this.unusableOutPoints.splice(index, 1);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
async markUnusable(outPointLike) {
|
|
63
|
-
const outPoint = index_js_1.OutPoint.from(outPointLike);
|
|
64
|
-
this.unusableOutPoints.push(outPoint.clone());
|
|
65
|
-
const index = this.usableCells.findIndex((c) => c.outPoint.eq(outPoint));
|
|
66
|
-
if (index !== -1) {
|
|
67
|
-
this.usableCells.splice(index, 1);
|
|
68
|
-
}
|
|
47
|
+
constructor(cache = new memory_js_1.ClientCacheMemory()) {
|
|
48
|
+
this.cache = cache;
|
|
69
49
|
}
|
|
70
50
|
async getCell(outPointLike) {
|
|
71
51
|
const outPoint = index_js_1.OutPoint.from(outPointLike);
|
|
72
|
-
const cached = this.
|
|
52
|
+
const cached = await this.cache.getCell(outPoint);
|
|
73
53
|
if (cached) {
|
|
74
|
-
return cached
|
|
54
|
+
return cached;
|
|
75
55
|
}
|
|
76
56
|
const transaction = await this.getTransactionNoCache(outPoint.txHash);
|
|
77
57
|
if (!transaction) {
|
|
@@ -86,12 +66,12 @@ class Client {
|
|
|
86
66
|
cellOutput: transaction.transaction.outputs[index],
|
|
87
67
|
outputData: transaction.transaction.outputsData[index] ?? "0x",
|
|
88
68
|
});
|
|
89
|
-
this.
|
|
90
|
-
return cell
|
|
69
|
+
await this.cache.recordCells(cell);
|
|
70
|
+
return cell;
|
|
91
71
|
}
|
|
92
72
|
async findCellsPaged(key, order, limit, after) {
|
|
93
73
|
const res = await this.findCellsPagedNoCache(key, order, limit, after);
|
|
94
|
-
this.
|
|
74
|
+
await this.cache.recordCells(res.cells);
|
|
95
75
|
return res;
|
|
96
76
|
}
|
|
97
77
|
async *findCells(key, order, limit = 10) {
|
|
@@ -116,15 +96,12 @@ class Client {
|
|
|
116
96
|
async *findCellsByCollectableSearchKey(keyLike, order, limit = 10) {
|
|
117
97
|
const key = clientTypes_js_1.ClientIndexerSearchKey.from(keyLike);
|
|
118
98
|
const foundedOutPoints = [];
|
|
119
|
-
for (const cell of this.
|
|
120
|
-
if (!(0, client_advanced_js_1.filterCell)(key, cell)) {
|
|
121
|
-
continue;
|
|
122
|
-
}
|
|
99
|
+
for await (const cell of this.cache.findCells(key)) {
|
|
123
100
|
foundedOutPoints.push(cell.outPoint);
|
|
124
101
|
yield cell;
|
|
125
102
|
}
|
|
126
103
|
for await (const cell of this.findCells(key, order, limit)) {
|
|
127
|
-
if (this.
|
|
104
|
+
if ((await this.cache.isUnusable(cell.outPoint)) ||
|
|
128
105
|
foundedOutPoints.some((founded) => founded.eq(cell.outPoint))) {
|
|
129
106
|
continue;
|
|
130
107
|
}
|
|
@@ -220,9 +197,9 @@ class Client {
|
|
|
220
197
|
async sendTransaction(transaction, validator) {
|
|
221
198
|
const tx = index_js_1.Transaction.from(transaction);
|
|
222
199
|
const txHash = await this.sendTransactionNoCache(tx, validator);
|
|
223
|
-
this.
|
|
224
|
-
await Promise.all(tx.inputs.map((i) => this.markUnusable(i.previousOutput)));
|
|
225
|
-
await Promise.all(tx.outputs.map((o, i) => this.markUsable({
|
|
200
|
+
await this.cache.recordTransactions(tx);
|
|
201
|
+
await Promise.all(tx.inputs.map((i) => this.cache.markUnusable(i.previousOutput)));
|
|
202
|
+
await Promise.all(tx.outputs.map((o, i) => this.cache.markUsable({
|
|
226
203
|
cellOutput: o,
|
|
227
204
|
outputData: tx.outputsData[i],
|
|
228
205
|
outPoint: {
|
|
@@ -235,16 +212,22 @@ class Client {
|
|
|
235
212
|
async getTransaction(txHashLike) {
|
|
236
213
|
const txHash = (0, index_js_3.hexFrom)(txHashLike);
|
|
237
214
|
const res = await this.getTransactionNoCache(txHash);
|
|
238
|
-
if (res
|
|
215
|
+
if (res?.transaction) {
|
|
239
216
|
return res;
|
|
240
217
|
}
|
|
241
|
-
const tx = this.
|
|
218
|
+
const tx = await this.cache.getTransaction(txHash);
|
|
242
219
|
if (!tx) {
|
|
243
220
|
return;
|
|
244
221
|
}
|
|
222
|
+
if (!res) {
|
|
223
|
+
return {
|
|
224
|
+
transaction: tx,
|
|
225
|
+
status: "sent",
|
|
226
|
+
};
|
|
227
|
+
}
|
|
245
228
|
return {
|
|
229
|
+
...res,
|
|
246
230
|
transaction: tx,
|
|
247
|
-
status: "proposed",
|
|
248
231
|
};
|
|
249
232
|
}
|
|
250
233
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientPublicMainnet.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicMainnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAIlD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFxB,GAAG,
|
|
1
|
+
{"version":3,"file":"clientPublicMainnet.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicMainnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAIlD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFxB,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EACC,OAAO;;mBAAkB;IAW5C,IAAI,aAAa,IAAI,MAAM,CAE1B;IAEK,cAAc,CAClB,MAAM,EAAE,WAAW,GAClB,OAAO,CACR,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CACpE;CAYF"}
|
|
@@ -8,8 +8,11 @@ const index_js_1 = require("./jsonRpc/index.js");
|
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
10
|
class ClientPublicMainnet extends index_js_1.ClientJsonRpc {
|
|
11
|
-
constructor(url
|
|
12
|
-
super(url
|
|
11
|
+
constructor(url, timeout, scripts = clientPublicMainnet_advanced_js_1.MAINNET_SCRIPTS) {
|
|
12
|
+
super(url ??
|
|
13
|
+
(typeof WebSocket !== "undefined"
|
|
14
|
+
? "wss://mainnet.ckb.dev/ws"
|
|
15
|
+
: "https://mainnet.ckb.dev/"), timeout);
|
|
13
16
|
this.scripts = scripts;
|
|
14
17
|
}
|
|
15
18
|
get addressPrefix() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientPublicTestnet.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicTestnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAIlD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFxB,GAAG,
|
|
1
|
+
{"version":3,"file":"clientPublicTestnet.d.ts","sourceRoot":"","sources":["../../src/client/clientPublicTestnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IAIlD,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFxB,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EACC,OAAO;;MAAkB;IAW5C,IAAI,aAAa,IAAI,MAAM,CAE1B;IAEK,cAAc,CAClB,MAAM,EAAE,WAAW,GAClB,OAAO,CACR,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CACpE;CAOF"}
|
|
@@ -8,8 +8,11 @@ const index_js_1 = require("./jsonRpc/index.js");
|
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
10
|
class ClientPublicTestnet extends index_js_1.ClientJsonRpc {
|
|
11
|
-
constructor(url
|
|
12
|
-
super(url
|
|
11
|
+
constructor(url, timeout, scripts = clientPublicTestnet_advanced_js_1.TESTNET_SCRIPTS) {
|
|
12
|
+
super(url ??
|
|
13
|
+
(typeof WebSocket !== "undefined"
|
|
14
|
+
? "wss://testnet.ckb.dev/ws"
|
|
15
|
+
: "https://testnet.ckb.dev/"), timeout);
|
|
13
16
|
this.scripts = scripts;
|
|
14
17
|
}
|
|
15
18
|
get addressPrefix() {
|
|
@@ -9,7 +9,7 @@ export type OutputsValidator = "passthrough" | "well_known_scripts_only";
|
|
|
9
9
|
/**
|
|
10
10
|
* @public
|
|
11
11
|
*/
|
|
12
|
-
export type TransactionStatus = "pending" | "proposed" | "committed" | "unknown" | "rejected";
|
|
12
|
+
export type TransactionStatus = "sent" | "pending" | "proposed" | "committed" | "unknown" | "rejected";
|
|
13
13
|
/**
|
|
14
14
|
* @public
|
|
15
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientTypes.d.ts","sourceRoot":"","sources":["../../src/client/clientTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clientTypes.d.ts","sourceRoot":"","sources":["../../src/client/clientTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
|
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./cache/index.js"), exports);
|
|
17
18
|
__exportStar(require("./client.js"), exports);
|
|
18
19
|
__exportStar(require("./clientPublicMainnet.js"), exports);
|
|
19
20
|
__exportStar(require("./clientPublicTestnet.js"), exports);
|
|
@@ -3,21 +3,22 @@ import { Hex, HexLike } from "../../hex/index.js";
|
|
|
3
3
|
import { Num, NumLike } from "../../num/index.js";
|
|
4
4
|
import { Client } from "../client.js";
|
|
5
5
|
import { ClientFindCellsResponse, ClientIndexerSearchKeyLike, ClientTransactionResponse, OutputsValidator } from "../clientTypes.js";
|
|
6
|
-
import { JsonRpcPayload } from "
|
|
6
|
+
import { JsonRpcPayload } from "../transports/advanced.js";
|
|
7
7
|
/**
|
|
8
8
|
* An abstract class implementing JSON-RPC client functionality for a specific URL and timeout.
|
|
9
9
|
* Provides methods for sending transactions and building JSON-RPC payloads.
|
|
10
10
|
*/
|
|
11
11
|
export declare abstract class ClientJsonRpc extends Client {
|
|
12
12
|
private readonly url_;
|
|
13
|
-
private readonly timeout
|
|
13
|
+
private readonly timeout?;
|
|
14
|
+
private readonly transport;
|
|
14
15
|
/**
|
|
15
16
|
* Creates an instance of ClientJsonRpc.
|
|
16
17
|
*
|
|
17
18
|
* @param url_ - The URL of the JSON-RPC server.
|
|
18
|
-
* @param timeout - The timeout for requests in milliseconds
|
|
19
|
+
* @param timeout - The timeout for requests in milliseconds
|
|
19
20
|
*/
|
|
20
|
-
constructor(url_: string, timeout?: number);
|
|
21
|
+
constructor(url_: string, timeout?: number | undefined);
|
|
21
22
|
/**
|
|
22
23
|
* Returns the URL of the JSON-RPC server.
|
|
23
24
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAW,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EAGf,MAAM,2BAA2B,CAAC;AA2BnC;;;GAGG;AAEH,8BAAsB,aAAc,SAAQ,MAAM;IAW9C,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAX3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC;;;;;OAKG;gBAGgB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,oBAAQ;IAOnC;;;;OAIG;IAEH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED;;;;OAIG;IAEH,MAAM,QAIK,QAAQ,GAAG,CAAC,CAAC;IAExB;;;;;;;OAOG;IACH,gBAAgB,yKAIgB;IAEhC;;;;;;;OAOG;IACH,cAAc,mMAEgB;IAE9B;;;;;;OAMG;IAEH,sBAAsB,gBAKP,eAAe,cAChB,gBAAgB,GAAG,SAAS,KACrC,QAAQ,GAAG,CAAC,CAAC;IAElB;;;;;OAKG;IAEH,qBAAqB,WAIP,OAAO,KAAK,QAAQ,yBAAyB,GAAG,SAAS,CAAC,CAAC;IAEzE;;;;;;;;OAQG;IAEH,qBAAqB,QASd,0BAA0B,UACvB,KAAK,GAAG,MAAM,UACd,OAAO,UACP,MAAM,KACX,QAAQ,uBAAuB,CAAC,CAAC;IAEtC;;;;;;;;OAQG;IAEH,qBAAqB;;;;;;;;MAQgB;IAErC;;;;;OAKG;IAEH,gBAAgB,QAIL,0BAA0B,KAAK,QAAQ,GAAG,CAAC,CAAC;IAEvD;;;;;;;OAOG;IAEH,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC,EAAE,EACrD,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,GACnC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC;IAmB1C;;;;;;;OAOG;IACG,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAerD;;;;;;OAMG;IAEH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,cAAc;CAQpE"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.ClientJsonRpc = void 0;
|
|
7
|
-
const cross_fetch_1 = __importDefault(require("cross-fetch"));
|
|
8
4
|
const barrel_js_1 = require("../../barrel.js");
|
|
9
5
|
const index_js_1 = require("../../hex/index.js");
|
|
10
6
|
const index_js_2 = require("../../num/index.js");
|
|
11
7
|
const client_js_1 = require("../client.js");
|
|
12
|
-
const advanced_js_1 = require("
|
|
8
|
+
const advanced_js_1 = require("../transports/advanced.js");
|
|
9
|
+
const advanced_js_2 = require("./advanced.js");
|
|
13
10
|
/**
|
|
14
11
|
* Applies a transformation function to a value if the transformer is provided.
|
|
15
12
|
*
|
|
@@ -38,9 +35,9 @@ class ClientJsonRpc extends client_js_1.Client {
|
|
|
38
35
|
* Creates an instance of ClientJsonRpc.
|
|
39
36
|
*
|
|
40
37
|
* @param url_ - The URL of the JSON-RPC server.
|
|
41
|
-
* @param timeout - The timeout for requests in milliseconds
|
|
38
|
+
* @param timeout - The timeout for requests in milliseconds
|
|
42
39
|
*/
|
|
43
|
-
constructor(url_, timeout
|
|
40
|
+
constructor(url_, timeout) {
|
|
44
41
|
super();
|
|
45
42
|
this.url_ = url_;
|
|
46
43
|
this.timeout = timeout;
|
|
@@ -58,7 +55,7 @@ class ClientJsonRpc extends client_js_1.Client {
|
|
|
58
55
|
* @param withCycles - whether the return cycles of block transactions. (Optional, default false.)
|
|
59
56
|
* @returns Block
|
|
60
57
|
*/
|
|
61
|
-
this.getBlockByNumber = this.buildSender("get_block_by_number", [(v) => (0, index_js_2.numToHex)((0, index_js_2.numFrom)(v))], (b) => (0, barrel_js_1.apply)(
|
|
58
|
+
this.getBlockByNumber = this.buildSender("get_block_by_number", [(v) => (0, index_js_2.numToHex)((0, index_js_2.numFrom)(v))], (b) => (0, barrel_js_1.apply)(advanced_js_2.JsonRpcTransformers.blockTo, b));
|
|
62
59
|
/**
|
|
63
60
|
* Get block by block hash
|
|
64
61
|
*
|
|
@@ -67,7 +64,7 @@ class ClientJsonRpc extends client_js_1.Client {
|
|
|
67
64
|
* @param withCycles - whether the return cycles of block transactions. (Optional, default false.)
|
|
68
65
|
* @returns Block
|
|
69
66
|
*/
|
|
70
|
-
this.getBlockByHash = this.buildSender("get_block", [index_js_1.hexFrom], (b) => (0, barrel_js_1.apply)(
|
|
67
|
+
this.getBlockByHash = this.buildSender("get_block", [index_js_1.hexFrom], (b) => (0, barrel_js_1.apply)(advanced_js_2.JsonRpcTransformers.blockTo, b));
|
|
71
68
|
/**
|
|
72
69
|
* Send a transaction to node.
|
|
73
70
|
*
|
|
@@ -75,14 +72,14 @@ class ClientJsonRpc extends client_js_1.Client {
|
|
|
75
72
|
* @param validator - "passthrough": Disable validation. "well_known_scripts_only": Only accept well known scripts in the transaction.
|
|
76
73
|
* @returns Transaction hash.
|
|
77
74
|
*/
|
|
78
|
-
this.sendTransactionNoCache = this.buildSender("send_transaction", [
|
|
75
|
+
this.sendTransactionNoCache = this.buildSender("send_transaction", [advanced_js_2.JsonRpcTransformers.transactionFrom], index_js_1.hexFrom);
|
|
79
76
|
/**
|
|
80
77
|
* Get a transaction from node.
|
|
81
78
|
*
|
|
82
79
|
* @param txHash - The hash of the transaction.
|
|
83
80
|
* @returns The transaction with status.
|
|
84
81
|
*/
|
|
85
|
-
this.getTransactionNoCache = this.buildSender("get_transaction", [index_js_1.hexFrom],
|
|
82
|
+
this.getTransactionNoCache = this.buildSender("get_transaction", [index_js_1.hexFrom], advanced_js_2.JsonRpcTransformers.transactionResponseTo);
|
|
86
83
|
/**
|
|
87
84
|
* find cells from node.
|
|
88
85
|
*
|
|
@@ -93,10 +90,10 @@ class ClientJsonRpc extends client_js_1.Client {
|
|
|
93
90
|
* @returns The found cells.
|
|
94
91
|
*/
|
|
95
92
|
this.findCellsPagedNoCache = this.buildSender("get_cells", [
|
|
96
|
-
|
|
93
|
+
advanced_js_2.JsonRpcTransformers.indexerSearchKeyFrom,
|
|
97
94
|
(order) => order ?? "asc",
|
|
98
95
|
(limit) => (0, index_js_2.numToHex)(limit ?? 10),
|
|
99
|
-
],
|
|
96
|
+
], advanced_js_2.JsonRpcTransformers.findCellsResponseTo);
|
|
100
97
|
/**
|
|
101
98
|
* find transactions from node.
|
|
102
99
|
*
|
|
@@ -107,17 +104,18 @@ class ClientJsonRpc extends client_js_1.Client {
|
|
|
107
104
|
* @returns The found transactions.
|
|
108
105
|
*/
|
|
109
106
|
this.findTransactionsPaged = this.buildSender("get_transactions", [
|
|
110
|
-
|
|
107
|
+
advanced_js_2.JsonRpcTransformers.indexerSearchKeyTransactionFrom,
|
|
111
108
|
(order) => order ?? "asc",
|
|
112
109
|
(limit) => (0, index_js_2.numToHex)(limit ?? 10),
|
|
113
|
-
],
|
|
110
|
+
], advanced_js_2.JsonRpcTransformers.findTransactionsResponseTo);
|
|
114
111
|
/**
|
|
115
112
|
* get cells capacity from node.
|
|
116
113
|
*
|
|
117
114
|
* @param key - The search key of cells.
|
|
118
115
|
* @returns The sum of cells capacity.
|
|
119
116
|
*/
|
|
120
|
-
this.getCellsCapacity = this.buildSender("get_cells_capacity", [
|
|
117
|
+
this.getCellsCapacity = this.buildSender("get_cells_capacity", [advanced_js_2.JsonRpcTransformers.indexerSearchKeyFrom], ({ capacity }) => (0, index_js_2.numFrom)(capacity));
|
|
118
|
+
this.transport = (0, advanced_js_1.transportFromUri)(url_);
|
|
121
119
|
}
|
|
122
120
|
/**
|
|
123
121
|
* Returns the URL of the JSON-RPC server.
|
|
@@ -152,18 +150,7 @@ class ClientJsonRpc extends client_js_1.Client {
|
|
|
152
150
|
* @throws Will throw an error if the response ID does not match the request ID, or if the response contains an error.
|
|
153
151
|
*/
|
|
154
152
|
async send(payload) {
|
|
155
|
-
const
|
|
156
|
-
const abortTimer = setTimeout(() => aborter.abort(), this.timeout);
|
|
157
|
-
const raw = await (0, cross_fetch_1.default)(this.url, {
|
|
158
|
-
method: "POST",
|
|
159
|
-
headers: {
|
|
160
|
-
"content-type": "application/json",
|
|
161
|
-
},
|
|
162
|
-
body: JSON.stringify(payload),
|
|
163
|
-
signal: aborter.signal,
|
|
164
|
-
});
|
|
165
|
-
clearTimeout(abortTimer);
|
|
166
|
-
const res = (await raw.json());
|
|
153
|
+
const res = (await this.transport.request(payload));
|
|
167
154
|
if (res.id !== payload.id) {
|
|
168
155
|
throw new Error(`Id mismatched, got ${res.id}, expected ${payload.id}`);
|
|
169
156
|
}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import { Hex } from "../../hex/index.js";
|
|
2
|
-
export type JsonRpcPayload = {
|
|
3
|
-
id: number;
|
|
4
|
-
jsonrpc: "2.0";
|
|
5
|
-
method: string;
|
|
6
|
-
params: unknown[] | Record<string, unknown>;
|
|
7
|
-
};
|
|
8
2
|
export type JsonRpcHashType = "type" | "data" | "data1" | "data2";
|
|
9
3
|
export type JsonRpcDepType = "dep_group" | "code";
|
|
10
4
|
export type JsonRpcScript = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAEzC,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/jsonRpc/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TransportHttp } from "./http.js";
|
|
2
|
+
import { TransportWebSocket } from "./webSocket.js";
|
|
3
|
+
export * from "./http.js";
|
|
4
|
+
export * from "./transport.js";
|
|
5
|
+
export * from "./webSocket.js";
|
|
6
|
+
export declare function transportFromUri(uri: string, config?: {
|
|
7
|
+
timeout?: number;
|
|
8
|
+
}): TransportHttp | TransportWebSocket;
|
|
9
|
+
//# sourceMappingURL=advanced.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced.d.ts","sourceRoot":"","sources":["../../../src/client/transports/advanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAE/B,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,sCAM1E"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.transportFromUri = void 0;
|
|
18
|
+
const http_js_1 = require("./http.js");
|
|
19
|
+
const webSocket_js_1 = require("./webSocket.js");
|
|
20
|
+
__exportStar(require("./http.js"), exports);
|
|
21
|
+
__exportStar(require("./transport.js"), exports);
|
|
22
|
+
__exportStar(require("./webSocket.js"), exports);
|
|
23
|
+
function transportFromUri(uri, config) {
|
|
24
|
+
if (uri.startsWith("wss://")) {
|
|
25
|
+
return new webSocket_js_1.TransportWebSocket(uri, config?.timeout);
|
|
26
|
+
}
|
|
27
|
+
return new http_js_1.TransportHttp(uri, config?.timeout);
|
|
28
|
+
}
|
|
29
|
+
exports.transportFromUri = transportFromUri;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { JsonRpcPayload, Transport } from "./transport.js";
|
|
2
|
+
export declare class TransportHttp implements Transport {
|
|
3
|
+
private readonly url;
|
|
4
|
+
private readonly timeout;
|
|
5
|
+
constructor(url: string, timeout?: number);
|
|
6
|
+
request(payload: JsonRpcPayload): Promise<any>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/client/transports/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,aAAc,YAAW,SAAS;IAE3C,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,GAAG,EAAE,MAAM,EACX,OAAO,SAAQ;IAG5B,OAAO,CAAC,OAAO,EAAE,cAAc;CAiBtC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransportHttp = void 0;
|
|
4
|
+
class TransportHttp {
|
|
5
|
+
constructor(url, timeout = 30000) {
|
|
6
|
+
this.url = url;
|
|
7
|
+
this.timeout = timeout;
|
|
8
|
+
}
|
|
9
|
+
async request(payload) {
|
|
10
|
+
const aborter = new AbortController();
|
|
11
|
+
const abortTimer = setTimeout(() => aborter.abort(), this.timeout);
|
|
12
|
+
const raw = await (await fetch(this.url, {
|
|
13
|
+
method: "POST",
|
|
14
|
+
headers: {
|
|
15
|
+
"content-type": "application/json",
|
|
16
|
+
},
|
|
17
|
+
body: JSON.stringify(payload),
|
|
18
|
+
signal: aborter.signal,
|
|
19
|
+
})).json();
|
|
20
|
+
clearTimeout(abortTimer);
|
|
21
|
+
return raw;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.TransportHttp = TransportHttp;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type JsonRpcPayload = {
|
|
2
|
+
id: number;
|
|
3
|
+
jsonrpc: "2.0";
|
|
4
|
+
method: string;
|
|
5
|
+
params: unknown[] | Record<string, unknown>;
|
|
6
|
+
};
|
|
7
|
+
export interface Transport {
|
|
8
|
+
request(data: JsonRpcPayload): Promise<unknown>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/client/transports/transport.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { JsonRpcPayload, Transport } from "./transport.js";
|
|
2
|
+
export declare class TransportWebSocket implements Transport {
|
|
3
|
+
private readonly url;
|
|
4
|
+
private readonly timeout;
|
|
5
|
+
private ongoing;
|
|
6
|
+
private socket?;
|
|
7
|
+
constructor(url: string, timeout?: number);
|
|
8
|
+
request(data: JsonRpcPayload): Promise<unknown>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=webSocket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webSocket.d.ts","sourceRoot":"","sources":["../../../src/client/transports/webSocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3D,qBAAa,kBAAmB,YAAW,SAAS;IAYhD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,OAAO,CAAC,OAAO,CAOD;IACd,OAAO,CAAC,MAAM,CAAC,CAAqB;gBAGjB,GAAG,EAAE,MAAM,EACX,OAAO,SAAQ;IAG5B,OAAO,CAAC,IAAI,EAAE,cAAc;CA8DnC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TransportWebSocket = void 0;
|
|
4
|
+
class TransportWebSocket {
|
|
5
|
+
constructor(url, timeout = 30000) {
|
|
6
|
+
this.url = url;
|
|
7
|
+
this.timeout = timeout;
|
|
8
|
+
this.ongoing = new Map();
|
|
9
|
+
}
|
|
10
|
+
async request(data) {
|
|
11
|
+
const socket = (() => {
|
|
12
|
+
if (this.socket) {
|
|
13
|
+
return this.socket;
|
|
14
|
+
}
|
|
15
|
+
const socket = new WebSocket(this.url);
|
|
16
|
+
const onMessage = ({ data }) => {
|
|
17
|
+
const res = JSON.parse(data);
|
|
18
|
+
if (typeof res !== "object" || res === null) {
|
|
19
|
+
throw new Error(`Unknown response ${data}`);
|
|
20
|
+
}
|
|
21
|
+
const req = this.ongoing.get(res.id);
|
|
22
|
+
if (!req) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
clearTimeout(req[2]);
|
|
26
|
+
this.ongoing.delete(res.id);
|
|
27
|
+
req[0](res);
|
|
28
|
+
};
|
|
29
|
+
const onClose = (error) => {
|
|
30
|
+
this.socket = undefined;
|
|
31
|
+
this.ongoing.forEach(([_, onError]) => onError(error ?? new Error("Connection closed")));
|
|
32
|
+
this.ongoing.clear();
|
|
33
|
+
};
|
|
34
|
+
socket.onclose = onClose;
|
|
35
|
+
socket.onerror = onClose;
|
|
36
|
+
socket.onmessage = onMessage;
|
|
37
|
+
this.socket = new Promise((resolve) => {
|
|
38
|
+
if (socket.readyState === socket.CONNECTING) {
|
|
39
|
+
socket.onopen = resolve;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
resolve(undefined);
|
|
43
|
+
}
|
|
44
|
+
}).then(() => socket);
|
|
45
|
+
return this.socket;
|
|
46
|
+
})();
|
|
47
|
+
return new Promise((resolve, reject) => {
|
|
48
|
+
this.ongoing.set(data.id, [
|
|
49
|
+
resolve,
|
|
50
|
+
reject,
|
|
51
|
+
setTimeout(() => reject(new Error("Request timeout")), this.timeout),
|
|
52
|
+
]);
|
|
53
|
+
socket.then((socket) => {
|
|
54
|
+
if (socket.readyState === socket.CLOSED ||
|
|
55
|
+
socket.readyState === socket.CLOSING) {
|
|
56
|
+
reject(new Error("Connection closed"));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
socket.send(JSON.stringify(data));
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.TransportWebSocket = TransportWebSocket;
|