viem 2.4.1 → 2.5.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 +6 -0
- package/_cjs/clients/transports/http.js +8 -5
- package/_cjs/clients/transports/http.js.map +1 -1
- package/_cjs/clients/transports/ipc.js +77 -0
- package/_cjs/clients/transports/ipc.js.map +1 -0
- package/_cjs/clients/transports/webSocket.js +11 -7
- package/_cjs/clients/transports/webSocket.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/node/index.js +8 -0
- package/_cjs/node/index.js.map +1 -0
- package/_cjs/utils/index.js +13 -6
- package/_cjs/utils/index.js.map +1 -1
- package/_cjs/utils/rpc/compat.js +35 -0
- package/_cjs/utils/rpc/compat.js.map +1 -0
- package/_cjs/utils/rpc/http.js +74 -0
- package/_cjs/utils/rpc/http.js.map +1 -0
- package/_cjs/utils/rpc/id.js +17 -0
- package/_cjs/utils/rpc/id.js.map +1 -0
- package/_cjs/utils/rpc/ipc.js +75 -0
- package/_cjs/utils/rpc/ipc.js.map +1 -0
- package/_cjs/utils/rpc/socket.js +85 -0
- package/_cjs/utils/rpc/socket.js.map +1 -0
- package/_cjs/utils/rpc/webSocket.js +50 -0
- package/_cjs/utils/rpc/webSocket.js.map +1 -0
- package/_esm/clients/transports/http.js +8 -5
- package/_esm/clients/transports/http.js.map +1 -1
- package/_esm/clients/transports/ipc.js +77 -0
- package/_esm/clients/transports/ipc.js.map +1 -0
- package/_esm/clients/transports/webSocket.js +10 -6
- package/_esm/clients/transports/webSocket.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/node/index.js +3 -0
- package/_esm/node/index.js.map +1 -0
- package/_esm/utils/index.js +4 -1
- package/_esm/utils/index.js.map +1 -1
- package/_esm/utils/rpc/compat.js +86 -0
- package/_esm/utils/rpc/compat.js.map +1 -0
- package/_esm/utils/rpc/http.js +70 -0
- package/_esm/utils/rpc/http.js.map +1 -0
- package/_esm/utils/rpc/id.js +13 -0
- package/_esm/utils/rpc/id.js.map +1 -0
- package/_esm/utils/rpc/ipc.js +71 -0
- package/_esm/utils/rpc/ipc.js.map +1 -0
- package/_esm/utils/rpc/socket.js +90 -0
- package/_esm/utils/rpc/socket.js.map +1 -0
- package/_esm/utils/rpc/webSocket.js +48 -0
- package/_esm/utils/rpc/webSocket.js.map +1 -0
- package/_types/clients/transports/http.d.ts +2 -2
- package/_types/clients/transports/http.d.ts.map +1 -1
- package/_types/clients/transports/ipc.d.ts +46 -0
- package/_types/clients/transports/ipc.d.ts.map +1 -0
- package/_types/clients/transports/webSocket.d.ts +6 -1
- package/_types/clients/transports/webSocket.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/node/index.d.ts +3 -0
- package/_types/node/index.d.ts.map +1 -0
- package/_types/types/rpc.d.ts +35 -0
- package/_types/types/rpc.d.ts.map +1 -1
- package/_types/utils/buildRequest.d.ts +2 -2
- package/_types/utils/buildRequest.d.ts.map +1 -1
- package/_types/utils/index.d.ts +4 -1
- package/_types/utils/index.d.ts.map +1 -1
- package/_types/utils/rpc/compat.d.ts +78 -0
- package/_types/utils/rpc/compat.d.ts.map +1 -0
- package/_types/utils/rpc/http.d.ts +20 -0
- package/_types/utils/rpc/http.d.ts.map +1 -0
- package/_types/utils/rpc/id.d.ts +11 -0
- package/_types/utils/rpc/id.d.ts.map +1 -0
- package/_types/utils/rpc/ipc.d.ts +8 -0
- package/_types/utils/rpc/ipc.d.ts.map +1 -0
- package/_types/utils/rpc/socket.d.ts +45 -0
- package/_types/utils/rpc/socket.d.ts.map +1 -0
- package/_types/utils/rpc/webSocket.d.ts +3 -0
- package/_types/utils/rpc/webSocket.d.ts.map +1 -0
- package/clients/transports/http.ts +15 -6
- package/clients/transports/ipc.ts +144 -0
- package/clients/transports/webSocket.ts +16 -6
- package/errors/version.ts +1 -1
- package/node/index.ts +11 -0
- package/node/package.json +6 -0
- package/package.json +9 -1
- package/types/rpc.ts +44 -0
- package/utils/buildRequest.ts +2 -2
- package/utils/index.ts +19 -8
- package/utils/rpc/compat.ts +117 -0
- package/utils/rpc/http.ts +132 -0
- package/utils/rpc/id.ts +13 -0
- package/utils/rpc/ipc.ts +89 -0
- package/utils/rpc/socket.ts +162 -0
- package/utils/rpc/webSocket.ts +63 -0
- package/_cjs/utils/rpc.js +0 -154
- package/_cjs/utils/rpc.js.map +0 -1
- package/_esm/utils/rpc.js +0 -160
- package/_esm/utils/rpc.js.map +0 -1
- package/_types/utils/rpc.d.ts +0 -80
- package/_types/utils/rpc.d.ts.map +0 -1
- package/utils/rpc.ts +0 -318
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# viem
|
2
2
|
|
3
|
+
## 2.5.0
|
4
|
+
|
5
|
+
### Minor Changes
|
6
|
+
|
7
|
+
- [#1724](https://github.com/wevm/viem/pull/1724) [`1aa664cc888516efb828b7e6e90c13993963459b`](https://github.com/wevm/viem/commit/1aa664cc888516efb828b7e6e90c13993963459b) Thanks [@jxom](https://github.com/jxom)! - Added support for IPC transport.
|
8
|
+
|
3
9
|
## 2.4.1
|
4
10
|
|
5
11
|
### Patch Changes
|
@@ -4,7 +4,7 @@ exports.http = void 0;
|
|
4
4
|
const request_js_1 = require("../../errors/request.js");
|
5
5
|
const transport_js_1 = require("../../errors/transport.js");
|
6
6
|
const createBatchScheduler_js_1 = require("../../utils/promise/createBatchScheduler.js");
|
7
|
-
const
|
7
|
+
const http_js_1 = require("../../utils/rpc/http.js");
|
8
8
|
const createTransport_js_1 = require("./createTransport.js");
|
9
9
|
function http(url, config = {}) {
|
10
10
|
const { batch, fetchOptions, key = 'http', name = 'HTTP JSON-RPC', retryDelay, } = config;
|
@@ -15,6 +15,7 @@ function http(url, config = {}) {
|
|
15
15
|
const url_ = url || chain?.rpcUrls.default.http[0];
|
16
16
|
if (!url_)
|
17
17
|
throw new transport_js_1.UrlRequiredError();
|
18
|
+
const rpcClient = (0, http_js_1.getHttpRpcClient)(url_, { fetchOptions, timeout });
|
18
19
|
return (0, createTransport_js_1.createTransport)({
|
19
20
|
key,
|
20
21
|
name,
|
@@ -26,16 +27,18 @@ function http(url, config = {}) {
|
|
26
27
|
shouldSplitBatch(requests) {
|
27
28
|
return requests.length > batchSize;
|
28
29
|
},
|
29
|
-
fn: (body) =>
|
30
|
+
fn: (body) => rpcClient.request({
|
30
31
|
body,
|
31
|
-
fetchOptions,
|
32
|
-
timeout,
|
33
32
|
}),
|
34
33
|
sort: (a, b) => a.id - b.id,
|
35
34
|
});
|
36
35
|
const fn = async (body) => batch
|
37
36
|
? schedule(body)
|
38
|
-
: [
|
37
|
+
: [
|
38
|
+
await rpcClient.request({
|
39
|
+
body,
|
40
|
+
}),
|
41
|
+
];
|
39
42
|
const [{ error, result }] = await fn(body);
|
40
43
|
if (error)
|
41
44
|
throw new request_js_1.RpcRequestError({
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,4DAGkC;
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../clients/transports/http.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,4DAGkC;AAGlC,yFAAkF;AAClF,qDAGgC;AAEhC,6DAK6B;AAgD7B,SAAgB,IAAI,CAElB,GAAY,EACZ,SAA8B,EAAE;IAEhC,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,IAAI,GAAG,eAAe,EACtB,UAAU,GACX,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,GAClC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,KAAM,CAAA;QACpD,MAAM,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,+BAAgB,EAAE,CAAA;QAEvC,MAAM,SAAS,GAAG,IAAA,0BAAgB,EAAC,IAAI,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAA;QAEnE,OAAO,IAAA,oCAAe,EACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAE/B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8CAAoB,EAAC;oBACxC,EAAE,EAAE,GAAG,GAAG,EAAE;oBACZ,IAAI;oBACJ,gBAAgB,CAAC,QAAQ;wBACvB,OAAO,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;oBACpC,CAAC;oBACD,EAAE,EAAE,CAAC,IAAkB,EAAE,EAAE,CACzB,SAAS,CAAC,OAAO,CAAC;wBAChB,IAAI;qBACL,CAAC;oBACJ,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;iBAC5B,CAAC,CAAA;gBAEF,MAAM,EAAE,GAAG,KAAK,EAAE,IAAgB,EAAE,EAAE,CACpC,KAAK;oBACH,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAChB,CAAC,CAAC;wBACE,MAAM,SAAS,CAAC,OAAO,CAAC;4BACtB,IAAI;yBACL,CAAC;qBACH,CAAA;gBAEP,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC1C,IAAI,KAAK;oBACP,MAAM,IAAI,4BAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAvED,oBAuEC"}
|
@@ -0,0 +1,77 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.ipc = void 0;
|
4
|
+
const request_js_1 = require("../../errors/request.js");
|
5
|
+
const ipc_js_1 = require("../../utils/rpc/ipc.js");
|
6
|
+
const createTransport_js_1 = require("./createTransport.js");
|
7
|
+
function ipc(path, config = {}) {
|
8
|
+
const { key = 'ipc', name = 'IPC JSON-RPC', retryDelay } = config;
|
9
|
+
return ({ retryCount: retryCount_, timeout: timeout_ }) => {
|
10
|
+
const retryCount = config.retryCount ?? retryCount_;
|
11
|
+
const timeout = timeout_ ?? config.timeout ?? 10000;
|
12
|
+
return (0, createTransport_js_1.createTransport)({
|
13
|
+
key,
|
14
|
+
name,
|
15
|
+
async request({ method, params }) {
|
16
|
+
const body = { method, params };
|
17
|
+
const rpcClient = await (0, ipc_js_1.getIpcRpcClient)(path);
|
18
|
+
const { error, result } = await rpcClient.requestAsync({
|
19
|
+
body,
|
20
|
+
timeout,
|
21
|
+
});
|
22
|
+
if (error)
|
23
|
+
throw new request_js_1.RpcRequestError({
|
24
|
+
body,
|
25
|
+
error,
|
26
|
+
url: path,
|
27
|
+
});
|
28
|
+
return result;
|
29
|
+
},
|
30
|
+
retryCount,
|
31
|
+
retryDelay,
|
32
|
+
timeout,
|
33
|
+
type: 'ipc',
|
34
|
+
}, {
|
35
|
+
getRpcClient() {
|
36
|
+
return (0, ipc_js_1.getIpcRpcClient)(path);
|
37
|
+
},
|
38
|
+
async subscribe({ params, onData, onError }) {
|
39
|
+
const rpcClient = await (0, ipc_js_1.getIpcRpcClient)(path);
|
40
|
+
const { result: subscriptionId } = await new Promise((resolve, reject) => rpcClient.request({
|
41
|
+
body: {
|
42
|
+
method: 'eth_subscribe',
|
43
|
+
params,
|
44
|
+
},
|
45
|
+
onResponse(response) {
|
46
|
+
if (response.error) {
|
47
|
+
reject(response.error);
|
48
|
+
onError?.(response.error);
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
if (typeof response.id === 'number') {
|
52
|
+
resolve(response);
|
53
|
+
return;
|
54
|
+
}
|
55
|
+
if (response.method !== 'eth_subscription')
|
56
|
+
return;
|
57
|
+
onData(response.params);
|
58
|
+
},
|
59
|
+
}));
|
60
|
+
return {
|
61
|
+
subscriptionId,
|
62
|
+
async unsubscribe() {
|
63
|
+
return new Promise((resolve) => rpcClient.request({
|
64
|
+
body: {
|
65
|
+
method: 'eth_unsubscribe',
|
66
|
+
params: [subscriptionId],
|
67
|
+
},
|
68
|
+
onResponse: resolve,
|
69
|
+
}));
|
70
|
+
},
|
71
|
+
};
|
72
|
+
},
|
73
|
+
});
|
74
|
+
};
|
75
|
+
}
|
76
|
+
exports.ipc = ipc;
|
77
|
+
//# sourceMappingURL=ipc.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../../clients/transports/ipc.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AAKzD,mDAA2E;AAC3E,6DAK6B;AAqD7B,SAAgB,GAAG,CACjB,IAAY,EACZ,SAA6B,EAAE;IAE/B,MAAM,EAAE,GAAG,GAAG,KAAK,EAAE,IAAI,GAAG,cAAc,EAAE,UAAU,EAAE,GAAG,MAAM,CAAA;IACjE,OAAO,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,KAAM,CAAA;QACpD,OAAO,IAAA,oCAAe,EACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAC/B,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAe,EAAC,IAAI,CAAC,CAAA;gBAC7C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC;oBACrD,IAAI;oBACJ,OAAO;iBACR,CAAC,CAAA;gBACF,IAAI,KAAK;oBACP,MAAM,IAAI,4BAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,KAAK;SACZ,EACD;YACE,YAAY;gBACV,OAAO,IAAA,wBAAe,EAAC,IAAI,CAAC,CAAA;YAC9B,CAAC;YACD,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAO;gBAC9C,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAe,EAAC,IAAI,CAAC,CAAA;gBAC7C,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,OAAO,CAClD,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAClB,SAAS,CAAC,OAAO,CAAC;oBAChB,IAAI,EAAE;wBACJ,MAAM,EAAE,eAAe;wBACvB,MAAM;qBACP;oBACD,UAAU,CAAC,QAAQ;wBACjB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;4BACnB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;4BACtB,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;4BACzB,OAAM;wBACR,CAAC;wBAED,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;4BACpC,OAAO,CAAC,QAAQ,CAAC,CAAA;4BACjB,OAAM;wBACR,CAAC;wBACD,IAAI,QAAQ,CAAC,MAAM,KAAK,kBAAkB;4BAAE,OAAM;wBAClD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;oBACzB,CAAC;iBACF,CAAC,CACL,CAAA;gBACD,OAAO;oBACL,cAAc;oBACd,KAAK,CAAC,WAAW;wBACf,OAAO,IAAI,OAAO,CAAM,CAAC,OAAO,EAAE,EAAE,CAClC,SAAS,CAAC,OAAO,CAAC;4BAChB,IAAI,EAAE;gCACJ,MAAM,EAAE,iBAAiB;gCACzB,MAAM,EAAE,CAAC,cAAc,CAAC;6BACzB;4BACD,UAAU,EAAE,OAAO;yBACpB,CAAC,CACH,CAAA;oBACH,CAAC;iBACF,CAAA;YACH,CAAC;SACF,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AA/ED,kBA+EC"}
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.webSocket = void 0;
|
4
4
|
const request_js_1 = require("../../errors/request.js");
|
5
5
|
const transport_js_1 = require("../../errors/transport.js");
|
6
|
-
const
|
6
|
+
const compat_js_1 = require("../../utils/rpc/compat.js");
|
7
|
+
const webSocket_js_1 = require("../../utils/rpc/webSocket.js");
|
7
8
|
const createTransport_js_1 = require("./createTransport.js");
|
8
9
|
function webSocket(url, config = {}) {
|
9
10
|
const { key = 'webSocket', name = 'WebSocket JSON-RPC', retryDelay } = config;
|
@@ -18,8 +19,8 @@ function webSocket(url, config = {}) {
|
|
18
19
|
name,
|
19
20
|
async request({ method, params }) {
|
20
21
|
const body = { method, params };
|
21
|
-
const
|
22
|
-
const { error, result } = await
|
22
|
+
const rpcClient = await (0, webSocket_js_1.getWebSocketRpcClient)(url_);
|
23
|
+
const { error, result } = await rpcClient.requestAsync({
|
23
24
|
body,
|
24
25
|
timeout,
|
25
26
|
});
|
@@ -37,11 +38,14 @@ function webSocket(url, config = {}) {
|
|
37
38
|
type: 'webSocket',
|
38
39
|
}, {
|
39
40
|
getSocket() {
|
40
|
-
return (0,
|
41
|
+
return (0, compat_js_1.getSocket)(url_);
|
42
|
+
},
|
43
|
+
getRpcClient() {
|
44
|
+
return (0, webSocket_js_1.getWebSocketRpcClient)(url_);
|
41
45
|
},
|
42
46
|
async subscribe({ params, onData, onError }) {
|
43
|
-
const
|
44
|
-
const { result: subscriptionId } = await new Promise((resolve, reject) =>
|
47
|
+
const rpcClient = await (0, webSocket_js_1.getWebSocketRpcClient)(url_);
|
48
|
+
const { result: subscriptionId } = await new Promise((resolve, reject) => rpcClient.request({
|
45
49
|
body: {
|
46
50
|
method: 'eth_subscribe',
|
47
51
|
params,
|
@@ -64,7 +68,7 @@ function webSocket(url, config = {}) {
|
|
64
68
|
return {
|
65
69
|
subscriptionId,
|
66
70
|
async unsubscribe() {
|
67
|
-
return new Promise((resolve) =>
|
71
|
+
return new Promise((resolve) => rpcClient.request({
|
68
72
|
body: {
|
69
73
|
method: 'eth_unsubscribe',
|
70
74
|
params: [subscriptionId],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"webSocket.js","sourceRoot":"","sources":["../../../clients/transports/webSocket.ts"],"names":[],"mappings":";;;AAAA,wDAAyD;AACzD,4DAGkC;
|
1
|
+
{"version":3,"file":"webSocket.js","sourceRoot":"","sources":["../../../clients/transports/webSocket.ts"],"names":[],"mappings":"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"}
|
package/_cjs/errors/version.js
CHANGED
@@ -0,0 +1,8 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getIpcRpcClient = exports.ipc = void 0;
|
4
|
+
var ipc_js_1 = require("../clients/transports/ipc.js");
|
5
|
+
Object.defineProperty(exports, "ipc", { enumerable: true, get: function () { return ipc_js_1.ipc; } });
|
6
|
+
var ipc_js_2 = require("../utils/rpc/ipc.js");
|
7
|
+
Object.defineProperty(exports, "getIpcRpcClient", { enumerable: true, get: function () { return ipc_js_2.getIpcRpcClient; } });
|
8
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../node/index.ts"],"names":[],"mappings":";;;AAAA,uDAKqC;AADnC,6FAAA,GAAG,OAAA;AAGL,8CAG4B;AAD1B,yGAAA,eAAe,OAAA"}
|
package/_cjs/utils/index.js
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.
|
4
|
-
exports.
|
5
|
-
exports.parseGwei = exports.parseEther = exports.parseUnits = exports.formatUnits = exports.formatGwei = exports.formatEther = exports.serializeAccessList = exports.serializeTransaction = exports.parseTransaction = exports.assertTransactionLegacy = exports.assertTransactionEIP2930 = exports.assertTransactionEIP1559 = exports.assertRequest = exports.getTransactionType = exports.getSerializedTransactionType = exports.hashMessage = exports.verifyTypedData = exports.verifyMessage = exports.recoverTypedDataAddress = exports.recoverPublicKey = exports.recoverMessageAddress = exports.recoverAddress = exports.hashTypedData = exports.ripemd160 = exports.sha256 = exports.keccak256 = exports.isHash = exports.toFunctionHash = exports.toEventHash = exports.getFunctionSignature = exports.toFunctionSignature = exports.getEventSignature = exports.toEventSignature = exports.getFunctionSelector = exports.toFunctionSelector = void 0;
|
3
|
+
exports.concat = exports.isAddressEqual = exports.isAddress = exports.getAddress = exports.getCreate2Address = exports.getCreateAddress = exports.getContractAddress = exports.publicKeyToAddress = exports.parseAccount = exports.formatAbiParams = exports.formatAbiItem = exports.formatAbiItemWithArgs = exports.encodePacked = exports.parseAbiParameters = exports.parseAbiParameter = exports.parseAbiItem = exports.parseAbi = exports.getAbiItem = exports.parseEventLogs = exports.encodeFunctionResult = exports.encodeFunctionData = exports.encodeEventTopics = exports.encodeErrorResult = exports.encodeDeployData = exports.encodeAbiParameters = exports.decodeFunctionResult = exports.decodeFunctionData = exports.decodeEventLog = exports.decodeErrorResult = exports.decodeAbiParameters = exports.validateTypedData = exports.stringify = exports.getWebSocketRpcClient = exports.socketClientCache = exports.getSocketRpcClient = exports.getHttpRpcClient = exports.rpc = exports.getSocket = exports.integerRegex = exports.bytesRegex = exports.arrayRegex = exports.getChainContractAddress = exports.extractChain = exports.defineChain = exports.assertCurrentChain = exports.offchainLookupSignature = exports.offchainLookupAbiItem = exports.offchainLookup = exports.ccipFetch = exports.buildRequest = void 0;
|
4
|
+
exports.getEstimateGasError = exports.getContractError = exports.getCallError = exports.getNodeError = exports.containsNodeError = exports.fromRlp = exports.hexToString = exports.hexToNumber = exports.hexToBigInt = exports.hexToBool = exports.fromHex = exports.fromBytes = exports.bytesToString = exports.bytesToNumber = exports.bytesToBool = exports.bytesToBigint = exports.bytesToBigInt = exports.stringToHex = exports.numberToHex = exports.toHex = exports.bytesToHex = exports.boolToHex = exports.stringToBytes = exports.numberToBytes = exports.hexToBytes = exports.toBytes = exports.boolToBytes = exports.toRlp = exports.extract = exports.formatTransactionRequest = exports.defineTransactionRequest = exports.defineTransactionReceipt = exports.formatLog = exports.transactionType = exports.formatTransaction = exports.defineTransaction = exports.formatBlock = exports.defineBlock = exports.trim = exports.sliceHex = exports.sliceBytes = exports.slice = exports.size = exports.padHex = exports.padBytes = exports.pad = exports.isHex = exports.isBytes = exports.concatHex = exports.concatBytes = void 0;
|
5
|
+
exports.parseGwei = exports.parseEther = exports.parseUnits = exports.formatUnits = exports.formatGwei = exports.formatEther = exports.serializeAccessList = exports.serializeTransaction = exports.parseTransaction = exports.assertTransactionLegacy = exports.assertTransactionEIP2930 = exports.assertTransactionEIP1559 = exports.assertRequest = exports.getTransactionType = exports.getSerializedTransactionType = exports.hashMessage = exports.verifyTypedData = exports.verifyMessage = exports.recoverTypedDataAddress = exports.recoverPublicKey = exports.recoverMessageAddress = exports.recoverAddress = exports.hashTypedData = exports.ripemd160 = exports.sha256 = exports.keccak256 = exports.isHash = exports.toFunctionHash = exports.toEventHash = exports.getFunctionSignature = exports.toFunctionSignature = exports.getEventSignature = exports.toEventSignature = exports.getFunctionSelector = exports.toFunctionSelector = exports.getEventSelector = exports.toEventSelector = exports.defineFormatter = exports.getTransactionError = void 0;
|
6
6
|
var buildRequest_js_1 = require("./buildRequest.js");
|
7
7
|
Object.defineProperty(exports, "buildRequest", { enumerable: true, get: function () { return buildRequest_js_1.buildRequest; } });
|
8
8
|
var ccip_js_1 = require("./ccip.js");
|
@@ -22,9 +22,16 @@ var regex_js_1 = require("./regex.js");
|
|
22
22
|
Object.defineProperty(exports, "arrayRegex", { enumerable: true, get: function () { return regex_js_1.arrayRegex; } });
|
23
23
|
Object.defineProperty(exports, "bytesRegex", { enumerable: true, get: function () { return regex_js_1.bytesRegex; } });
|
24
24
|
Object.defineProperty(exports, "integerRegex", { enumerable: true, get: function () { return regex_js_1.integerRegex; } });
|
25
|
-
var
|
26
|
-
Object.defineProperty(exports, "getSocket", { enumerable: true, get: function () { return
|
27
|
-
Object.defineProperty(exports, "rpc", { enumerable: true, get: function () { return
|
25
|
+
var compat_js_1 = require("./rpc/compat.js");
|
26
|
+
Object.defineProperty(exports, "getSocket", { enumerable: true, get: function () { return compat_js_1.getSocket; } });
|
27
|
+
Object.defineProperty(exports, "rpc", { enumerable: true, get: function () { return compat_js_1.rpc; } });
|
28
|
+
var http_js_1 = require("./rpc/http.js");
|
29
|
+
Object.defineProperty(exports, "getHttpRpcClient", { enumerable: true, get: function () { return http_js_1.getHttpRpcClient; } });
|
30
|
+
var socket_js_1 = require("./rpc/socket.js");
|
31
|
+
Object.defineProperty(exports, "getSocketRpcClient", { enumerable: true, get: function () { return socket_js_1.getSocketRpcClient; } });
|
32
|
+
Object.defineProperty(exports, "socketClientCache", { enumerable: true, get: function () { return socket_js_1.socketClientCache; } });
|
33
|
+
var webSocket_js_1 = require("./rpc/webSocket.js");
|
34
|
+
Object.defineProperty(exports, "getWebSocketRpcClient", { enumerable: true, get: function () { return webSocket_js_1.getWebSocketRpcClient; } });
|
28
35
|
var stringify_js_1 = require("./stringify.js");
|
29
36
|
Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return stringify_js_1.stringify; } });
|
30
37
|
var typedData_js_1 = require("./typedData.js");
|
package/_cjs/utils/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":";;;;;AAAA,qDAG0B;AADxB,+GAAA,YAAY,OAAA;AAGd,qCAOkB;AAJhB,oGAAA,SAAS,OAAA;AACT,yGAAA,cAAc,OAAA;AACd,gHAAA,qBAAqB,OAAA;AACrB,kHAAA,uBAAuB,OAAA;AAGzB,uEAIsC;AADpC,2HAAA,kBAAkB,OAAA;AAEpB,yDAAoD;AAA3C,6GAAA,WAAW,OAAA;AACpB,2DAKgC;AAD9B,+GAAA,YAAY,OAAA;AAEd,iFAG2C;AADzC,qIAAA,uBAAuB,OAAA;AAGzB,uCAAiE;AAAxD,sGAAA,UAAU,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,wGAAA,YAAY,OAAA;AAE7C,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../utils/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.rpc = exports.getSocket = void 0;
|
4
|
+
const http_js_1 = require("./http.js");
|
5
|
+
const webSocket_js_1 = require("./webSocket.js");
|
6
|
+
function webSocket(socketClient, { body, onError, onResponse }) {
|
7
|
+
socketClient.request({
|
8
|
+
body,
|
9
|
+
onError,
|
10
|
+
onResponse,
|
11
|
+
});
|
12
|
+
return socketClient;
|
13
|
+
}
|
14
|
+
async function webSocketAsync(socketClient, { body, timeout = 10000 }) {
|
15
|
+
return socketClient.requestAsync({
|
16
|
+
body,
|
17
|
+
timeout,
|
18
|
+
});
|
19
|
+
}
|
20
|
+
async function getSocket(url) {
|
21
|
+
const client = await (0, webSocket_js_1.getWebSocketRpcClient)(url);
|
22
|
+
return Object.assign(client.socket, {
|
23
|
+
requests: client.requests,
|
24
|
+
subscriptions: client.subscriptions,
|
25
|
+
});
|
26
|
+
}
|
27
|
+
exports.getSocket = getSocket;
|
28
|
+
exports.rpc = {
|
29
|
+
http(url, params) {
|
30
|
+
return (0, http_js_1.getHttpRpcClient)(url).request(params);
|
31
|
+
},
|
32
|
+
webSocket,
|
33
|
+
webSocketAsync,
|
34
|
+
};
|
35
|
+
//# sourceMappingURL=compat.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../../../utils/rpc/compat.ts"],"names":[],"mappings":";;;AAWA,uCAAwE;AAExE,iDAAsD;AAQtD,SAAS,SAAS,CAChB,YAAwC,EACxC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAoB;IAE/C,YAAY,CAAC,OAAO,CAAC;QACnB,IAAI;QACJ,OAAO;QACP,UAAU;KACX,CAAC,CAAA;IACF,OAAO,YAAY,CAAA;AACrB,CAAC;AAYD,KAAK,UAAU,cAAc,CAC3B,YAAwC,EACxC,EAAE,IAAI,EAAE,OAAO,GAAG,KAAM,EAAyB;IAEjD,OAAO,YAAY,CAAC,YAAY,CAAC;QAC/B,IAAI;QACJ,OAAO;KACR,CAAC,CAAA;AACJ,CAAC;AAcM,KAAK,UAAU,SAAS,CAAC,GAAW;IACzC,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAqB,EAAC,GAAG,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAA;AACJ,CAAC;AAND,8BAMC;AAEY,QAAA,GAAG,GAAG;IAajB,IAAI,CAAC,GAAW,EAAE,MAA6B;QAC7C,OAAO,IAAA,0BAAgB,EAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;IAaD,SAAS;IAaT,cAAc;CACf,CAAA"}
|
@@ -0,0 +1,74 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getHttpRpcClient = void 0;
|
4
|
+
const request_js_1 = require("../../errors/request.js");
|
5
|
+
const withTimeout_js_1 = require("../promise/withTimeout.js");
|
6
|
+
const stringify_js_1 = require("../stringify.js");
|
7
|
+
const id_js_1 = require("./id.js");
|
8
|
+
function getHttpRpcClient(url, options = {}) {
|
9
|
+
return {
|
10
|
+
async request(params) {
|
11
|
+
const { body, fetchOptions = {}, timeout = options.timeout ?? 10000, } = params;
|
12
|
+
const { headers, method, signal: signal_, } = { ...options.fetchOptions, ...fetchOptions };
|
13
|
+
try {
|
14
|
+
const response = await (0, withTimeout_js_1.withTimeout)(async ({ signal }) => {
|
15
|
+
const response = await fetch(url, {
|
16
|
+
...fetchOptions,
|
17
|
+
body: Array.isArray(body)
|
18
|
+
? (0, stringify_js_1.stringify)(body.map((body) => ({
|
19
|
+
jsonrpc: '2.0',
|
20
|
+
id: body.id ?? id_js_1.idCache.take(),
|
21
|
+
...body,
|
22
|
+
})))
|
23
|
+
: (0, stringify_js_1.stringify)({
|
24
|
+
jsonrpc: '2.0',
|
25
|
+
id: body.id ?? id_js_1.idCache.take(),
|
26
|
+
...body,
|
27
|
+
}),
|
28
|
+
headers: {
|
29
|
+
...headers,
|
30
|
+
'Content-Type': 'application/json',
|
31
|
+
},
|
32
|
+
method: method || 'POST',
|
33
|
+
signal: signal_ || (timeout > 0 ? signal : undefined),
|
34
|
+
});
|
35
|
+
return response;
|
36
|
+
}, {
|
37
|
+
errorInstance: new request_js_1.TimeoutError({ body, url }),
|
38
|
+
timeout,
|
39
|
+
signal: true,
|
40
|
+
});
|
41
|
+
let data;
|
42
|
+
if (response.headers.get('Content-Type')?.startsWith('application/json')) {
|
43
|
+
data = await response.json();
|
44
|
+
}
|
45
|
+
else {
|
46
|
+
data = await response.text();
|
47
|
+
}
|
48
|
+
if (!response.ok) {
|
49
|
+
throw new request_js_1.HttpRequestError({
|
50
|
+
body,
|
51
|
+
details: (0, stringify_js_1.stringify)(data.error) || response.statusText,
|
52
|
+
headers: response.headers,
|
53
|
+
status: response.status,
|
54
|
+
url,
|
55
|
+
});
|
56
|
+
}
|
57
|
+
return data;
|
58
|
+
}
|
59
|
+
catch (err) {
|
60
|
+
if (err instanceof request_js_1.HttpRequestError)
|
61
|
+
throw err;
|
62
|
+
if (err instanceof request_js_1.TimeoutError)
|
63
|
+
throw err;
|
64
|
+
throw new request_js_1.HttpRequestError({
|
65
|
+
body,
|
66
|
+
details: err.message,
|
67
|
+
url,
|
68
|
+
});
|
69
|
+
}
|
70
|
+
},
|
71
|
+
};
|
72
|
+
}
|
73
|
+
exports.getHttpRpcClient = getHttpRpcClient;
|
74
|
+
//# sourceMappingURL=http.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../utils/rpc/http.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.idCache = exports.createIdStore = void 0;
|
4
|
+
function createIdStore() {
|
5
|
+
return {
|
6
|
+
current: 0,
|
7
|
+
take() {
|
8
|
+
return this.current++;
|
9
|
+
},
|
10
|
+
reset() {
|
11
|
+
this.current = 0;
|
12
|
+
},
|
13
|
+
};
|
14
|
+
}
|
15
|
+
exports.createIdStore = createIdStore;
|
16
|
+
exports.idCache = createIdStore();
|
17
|
+
//# sourceMappingURL=id.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../../utils/rpc/id.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa;IAC3B,OAAO;QACL,OAAO,EAAE,CAAC;QACV,IAAI;YACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAA;QACvB,CAAC;QACD,KAAK;YACH,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;QAClB,CAAC;KACF,CAAA;AACH,CAAC;AAVD,sCAUC;AAEY,QAAA,OAAO,GAAiB,aAAa,EAAE,CAAA"}
|
@@ -0,0 +1,75 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getIpcRpcClient = exports.extractMessages = void 0;
|
4
|
+
const node_net_1 = require("node:net");
|
5
|
+
const index_js_1 = require("../../index.js");
|
6
|
+
const socket_js_1 = require("./socket.js");
|
7
|
+
const openingBrace = '{'.charCodeAt(0);
|
8
|
+
const closingBrace = '}'.charCodeAt(0);
|
9
|
+
function extractMessages(buffer) {
|
10
|
+
const messages = [];
|
11
|
+
let cursor = 0;
|
12
|
+
let level = 0;
|
13
|
+
for (let i = 0; i < buffer.length; i++) {
|
14
|
+
if (buffer[i] === openingBrace)
|
15
|
+
level++;
|
16
|
+
if (buffer[i] === closingBrace)
|
17
|
+
level--;
|
18
|
+
if (level === 0) {
|
19
|
+
const message = buffer.subarray(cursor, i + 1);
|
20
|
+
if (message[0] === openingBrace &&
|
21
|
+
message[message.length - 1] === closingBrace)
|
22
|
+
messages.push(message);
|
23
|
+
cursor = i + 1;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
return [messages, buffer.subarray(cursor)];
|
27
|
+
}
|
28
|
+
exports.extractMessages = extractMessages;
|
29
|
+
async function getIpcRpcClient(path) {
|
30
|
+
return (0, socket_js_1.getSocketRpcClient)({
|
31
|
+
async getSocket({ onResponse }) {
|
32
|
+
const socket = (0, node_net_1.connect)(path);
|
33
|
+
function onClose() {
|
34
|
+
socket.off('close', onClose);
|
35
|
+
socket.off('message', onData);
|
36
|
+
}
|
37
|
+
let lastRemaining = Buffer.alloc(0);
|
38
|
+
function onData(buffer) {
|
39
|
+
const [messages, remaining] = extractMessages(Buffer.concat([lastRemaining, buffer]));
|
40
|
+
for (const message of messages) {
|
41
|
+
const response = JSON.parse(Buffer.from(message).toString());
|
42
|
+
onResponse(response);
|
43
|
+
}
|
44
|
+
lastRemaining = remaining;
|
45
|
+
}
|
46
|
+
socket.on('close', onClose);
|
47
|
+
socket.on('data', onData);
|
48
|
+
await new Promise((resolve, reject) => {
|
49
|
+
socket.on('ready', () => {
|
50
|
+
resolve();
|
51
|
+
socket.off('error', reject);
|
52
|
+
});
|
53
|
+
socket.on('error', reject);
|
54
|
+
});
|
55
|
+
return Object.assign(socket, {
|
56
|
+
close() {
|
57
|
+
socket.destroy();
|
58
|
+
socket.end();
|
59
|
+
},
|
60
|
+
request({ body }) {
|
61
|
+
if (socket.readyState !== 'open')
|
62
|
+
throw new index_js_1.WebSocketRequestError({
|
63
|
+
body,
|
64
|
+
url: path,
|
65
|
+
details: 'Socket is closed.',
|
66
|
+
});
|
67
|
+
return socket.write(JSON.stringify(body));
|
68
|
+
},
|
69
|
+
});
|
70
|
+
},
|
71
|
+
url: path,
|
72
|
+
});
|
73
|
+
}
|
74
|
+
exports.getIpcRpcClient = getIpcRpcClient;
|
75
|
+
//# sourceMappingURL=ipc.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ipc.js","sourceRoot":"","sources":["../../../utils/rpc/ipc.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getSocketRpcClient = exports.socketClientCache = void 0;
|
4
|
+
const request_js_1 = require("../../errors/request.js");
|
5
|
+
const createBatchScheduler_js_1 = require("../promise/createBatchScheduler.js");
|
6
|
+
const withTimeout_js_1 = require("../promise/withTimeout.js");
|
7
|
+
const id_js_1 = require("./id.js");
|
8
|
+
exports.socketClientCache = new Map();
|
9
|
+
async function getSocketRpcClient(params) {
|
10
|
+
const { getSocket, url } = params;
|
11
|
+
let socketClient = exports.socketClientCache.get(url);
|
12
|
+
if (socketClient)
|
13
|
+
return socketClient;
|
14
|
+
const { schedule } = (0, createBatchScheduler_js_1.createBatchScheduler)({
|
15
|
+
id: url,
|
16
|
+
fn: async () => {
|
17
|
+
const requests = new Map();
|
18
|
+
const subscriptions = new Map();
|
19
|
+
const socket = await getSocket({
|
20
|
+
onResponse(data) {
|
21
|
+
const isSubscription = data.method === 'eth_subscription';
|
22
|
+
const id = isSubscription ? data.params.subscription : data.id;
|
23
|
+
const cache = isSubscription ? subscriptions : requests;
|
24
|
+
const callback = cache.get(id);
|
25
|
+
if (callback)
|
26
|
+
callback(data);
|
27
|
+
if (!isSubscription)
|
28
|
+
cache.delete(id);
|
29
|
+
},
|
30
|
+
});
|
31
|
+
socketClient = {
|
32
|
+
close() {
|
33
|
+
socket.close();
|
34
|
+
exports.socketClientCache.delete(url);
|
35
|
+
},
|
36
|
+
socket,
|
37
|
+
request({ body, onError, onResponse }) {
|
38
|
+
const id = body.id ?? id_js_1.idCache.take();
|
39
|
+
const callback = (response) => {
|
40
|
+
if (typeof response.id === 'number' && id !== response.id)
|
41
|
+
return;
|
42
|
+
if (body.method === 'eth_subscribe' &&
|
43
|
+
typeof response.result === 'string')
|
44
|
+
subscriptions.set(response.result, callback);
|
45
|
+
if (body.method === 'eth_unsubscribe')
|
46
|
+
subscriptions.delete(body.params?.[0]);
|
47
|
+
onResponse(response);
|
48
|
+
};
|
49
|
+
requests.set(id, callback);
|
50
|
+
try {
|
51
|
+
socket.request({
|
52
|
+
body: {
|
53
|
+
jsonrpc: '2.0',
|
54
|
+
id,
|
55
|
+
...body,
|
56
|
+
},
|
57
|
+
});
|
58
|
+
}
|
59
|
+
catch (error) {
|
60
|
+
onError?.(error);
|
61
|
+
}
|
62
|
+
},
|
63
|
+
requestAsync({ body, timeout = 10000 }) {
|
64
|
+
return (0, withTimeout_js_1.withTimeout)(() => new Promise((onResponse, onError) => this.request({
|
65
|
+
body,
|
66
|
+
onError,
|
67
|
+
onResponse,
|
68
|
+
})), {
|
69
|
+
errorInstance: new request_js_1.TimeoutError({ body, url }),
|
70
|
+
timeout,
|
71
|
+
});
|
72
|
+
},
|
73
|
+
requests,
|
74
|
+
subscriptions,
|
75
|
+
url,
|
76
|
+
};
|
77
|
+
exports.socketClientCache.set(url, socketClient);
|
78
|
+
return [socketClient];
|
79
|
+
},
|
80
|
+
});
|
81
|
+
const [_, [socketClient_]] = await schedule();
|
82
|
+
return socketClient_;
|
83
|
+
}
|
84
|
+
exports.getSocketRpcClient = getSocketRpcClient;
|
85
|
+
//# sourceMappingURL=socket.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../utils/rpc/socket.ts"],"names":[],"mappings":"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"}
|