viem 2.31.6 → 2.31.7-canary-20250703100615
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/errors/version.js +1 -1
- package/_cjs/errors/version.js.map +1 -1
- package/_cjs/utils/rpc/socket.js +15 -4
- package/_cjs/utils/rpc/socket.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/errors/version.js.map +1 -1
- package/_esm/utils/rpc/socket.js +15 -4
- package/_esm/utils/rpc/socket.js.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/errors/version.d.ts.map +1 -1
- package/_types/utils/rpc/compat.d.ts +2 -0
- package/_types/utils/rpc/compat.d.ts.map +1 -1
- package/_types/utils/rpc/socket.d.ts +1 -0
- package/_types/utils/rpc/socket.d.ts.map +1 -1
- package/errors/version.ts +1 -1
- package/package.json +1 -1
- package/utils/rpc/socket.ts +20 -4
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# viem
|
2
2
|
|
3
|
+
## 2.31.7-canary-20250703100615
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- [#3772](https://github.com/wevm/viem/pull/3772) [`d79fb7ea8274e98911aa4a42190b8810816585cc`](https://github.com/wevm/viem/commit/d79fb7ea8274e98911aa4a42190b8810816585cc) Thanks [@hazelnutcloud](https://github.com/hazelnutcloud)! - Fixed issue where WebSocket subscriptions did not replay on reconnect.
|
8
|
+
|
3
9
|
## 2.31.6
|
4
10
|
|
5
11
|
### Patch Changes
|
package/_cjs/errors/version.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../errors/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../errors/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,8BAA8B,CAAA"}
|
package/_cjs/utils/rpc/socket.js
CHANGED
@@ -11,12 +11,13 @@ async function getSocketRpcClient(parameters) {
|
|
11
11
|
const { getSocket, keepAlive = true, key = 'socket', reconnect = true, url, } = parameters;
|
12
12
|
const { interval: keepAliveInterval = 30_000 } = typeof keepAlive === 'object' ? keepAlive : {};
|
13
13
|
const { attempts = 5, delay = 2_000 } = typeof reconnect === 'object' ? reconnect : {};
|
14
|
-
|
14
|
+
const id = JSON.stringify({ keepAlive, key, url, reconnect });
|
15
|
+
let socketClient = exports.socketClientCache.get(id);
|
15
16
|
if (socketClient)
|
16
17
|
return socketClient;
|
17
18
|
let reconnectCount = 0;
|
18
19
|
const { schedule } = (0, createBatchScheduler_js_1.createBatchScheduler)({
|
19
|
-
id
|
20
|
+
id,
|
20
21
|
fn: async () => {
|
21
22
|
const requests = new Map();
|
22
23
|
const subscriptions = new Map();
|
@@ -78,6 +79,15 @@ async function getSocketRpcClient(parameters) {
|
|
78
79
|
clearInterval(keepAliveTimer);
|
79
80
|
keepAliveTimer = setInterval(() => socket.ping?.(), keepAliveInterval);
|
80
81
|
}
|
82
|
+
if (reconnect && subscriptions.size > 0) {
|
83
|
+
const subscriptionEntries = subscriptions.entries();
|
84
|
+
for (const [key, { onResponse, body, onError },] of subscriptionEntries) {
|
85
|
+
if (!body)
|
86
|
+
continue;
|
87
|
+
subscriptions.delete(key);
|
88
|
+
socketClient?.request({ body, onResponse, onError });
|
89
|
+
}
|
90
|
+
}
|
81
91
|
return result;
|
82
92
|
}
|
83
93
|
await setup();
|
@@ -86,7 +96,7 @@ async function getSocketRpcClient(parameters) {
|
|
86
96
|
close() {
|
87
97
|
keepAliveTimer && clearInterval(keepAliveTimer);
|
88
98
|
socket.close();
|
89
|
-
exports.socketClientCache.delete(
|
99
|
+
exports.socketClientCache.delete(id);
|
90
100
|
},
|
91
101
|
get socket() {
|
92
102
|
return socket;
|
@@ -103,6 +113,7 @@ async function getSocketRpcClient(parameters) {
|
|
103
113
|
subscriptions.set(response.result, {
|
104
114
|
onResponse: callback,
|
105
115
|
onError,
|
116
|
+
body,
|
106
117
|
});
|
107
118
|
if (body.method === 'eth_unsubscribe')
|
108
119
|
subscriptions.delete(body.params?.[0]);
|
@@ -136,7 +147,7 @@ async function getSocketRpcClient(parameters) {
|
|
136
147
|
subscriptions,
|
137
148
|
url,
|
138
149
|
};
|
139
|
-
exports.socketClientCache.set(
|
150
|
+
exports.socketClientCache.set(id, socketClient);
|
140
151
|
return [socketClient];
|
141
152
|
},
|
142
153
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../utils/rpc/socket.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../utils/rpc/socket.ts"],"names":[],"mappings":";;;AAgGA,gDAwMC;AAxSD,wDAAyE;AAGzE,gFAG2C;AAC3C,8DAAuD;AACvD,mCAAiC;AAmFpB,QAAA,iBAAiB,GAAiB,IAAI,GAAG,EAGnD,CAAA;AAEI,KAAK,UAAU,kBAAkB,CACtC,UAAgD;IAEhD,MAAM,EACJ,SAAS,EACT,SAAS,GAAG,IAAI,EAChB,GAAG,GAAG,QAAQ,EACd,SAAS,GAAG,IAAI,EAChB,GAAG,GACJ,GAAG,UAAU,CAAA;IACd,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,EAAE,GAC5C,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAChD,MAAM,EAAE,QAAQ,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,GACnC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAEhD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA;IAC7D,IAAI,YAAY,GAAG,yBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAG5C,IAAI,YAAY;QAAE,OAAO,YAA6C,CAAA;IAEtE,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8CAAoB,EAGvC;QACA,EAAE;QACF,EAAE,EAAE,KAAK,IAAI,EAAE;YAEb,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;YAG1C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;YAE/C,IAAI,KAAgC,CAAA;YACpC,IAAI,MAAkB,CAAA;YACtB,IAAI,cAA0D,CAAA;YAG9D,KAAK,UAAU,KAAK;gBAClB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;oBAC7B,OAAO;wBAEL,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;4BACrC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,8BAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;wBACnD,KAAK,MAAM,YAAY,IAAI,aAAa,CAAC,MAAM,EAAE;4BAC/C,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,8BAAiB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;wBAGxD,IAAI,SAAS,IAAI,cAAc,GAAG,QAAQ;4BACxC,UAAU,CAAC,KAAK,IAAI,EAAE;gCACpB,cAAc,EAAE,CAAA;gCAChB,MAAM,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;4BACpC,CAAC,EAAE,KAAK,CAAC,CAAA;6BAEN,CAAC;4BACJ,QAAQ,CAAC,KAAK,EAAE,CAAA;4BAChB,aAAa,CAAC,KAAK,EAAE,CAAA;wBACvB,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,MAAM;wBACZ,KAAK,GAAG,MAAM,CAAA;wBAGd,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;4BAAE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;wBACjE,KAAK,MAAM,YAAY,IAAI,aAAa,CAAC,MAAM,EAAE;4BAC/C,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;wBAG/B,YAAY,EAAE,KAAK,EAAE,CAAA;wBAGrB,IAAI,SAAS,IAAI,cAAc,GAAG,QAAQ;4BACxC,UAAU,CAAC,KAAK,IAAI,EAAE;gCACpB,cAAc,EAAE,CAAA;gCAChB,MAAM,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;4BACpC,CAAC,EAAE,KAAK,CAAC,CAAA;6BAEN,CAAC;4BACJ,QAAQ,CAAC,KAAK,EAAE,CAAA;4BAChB,aAAa,CAAC,KAAK,EAAE,CAAA;wBACvB,CAAC;oBACH,CAAC;oBACD,MAAM;wBACJ,KAAK,GAAG,SAAS,CAAA;wBACjB,cAAc,GAAG,CAAC,CAAA;oBACpB,CAAC;oBACD,UAAU,CAAC,IAAI;wBACb,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,KAAK,kBAAkB,CAAA;wBACzD,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;wBAC9D,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAA;wBACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;wBAC9B,IAAI,QAAQ;4BAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;wBACvC,IAAI,CAAC,cAAc;4BAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;oBACvC,CAAC;iBACF,CAAC,CAAA;gBAEF,MAAM,GAAG,MAAM,CAAA;gBAEf,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,cAAc;wBAAE,aAAa,CAAC,cAAc,CAAC,CAAA;oBACjD,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAA;gBACxE,CAAC;gBAED,IAAI,SAAS,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,EAAE,CAAA;oBACnD,KAAK,MAAM,CACT,GAAG,EACH,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,EAC9B,IAAI,mBAAmB,EAAE,CAAC;wBACzB,IAAI,CAAC,IAAI;4BAAE,SAAQ;wBAEnB,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;wBACzB,YAAY,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;oBACtD,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;YACD,MAAM,KAAK,EAAE,CAAA;YACb,KAAK,GAAG,SAAS,CAAA;YAGjB,YAAY,GAAG;gBACb,KAAK;oBACH,cAAc,IAAI,aAAa,CAAC,cAAc,CAAC,CAAA;oBAC/C,MAAM,CAAC,KAAK,EAAE,CAAA;oBACd,yBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC9B,CAAC;gBACD,IAAI,MAAM;oBACR,OAAO,MAAM,CAAA;gBACf,CAAC;gBACD,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE;oBACnC,IAAI,KAAK,IAAI,OAAO;wBAAE,OAAO,CAAC,KAAK,CAAC,CAAA;oBAEpC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,eAAO,CAAC,IAAI,EAAE,CAAA;oBAEpC,MAAM,QAAQ,GAAG,CAAC,QAAqB,EAAE,EAAE;wBACzC,IAAI,OAAO,QAAQ,CAAC,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,QAAQ,CAAC,EAAE;4BAAE,OAAM;wBAIjE,IACE,IAAI,CAAC,MAAM,KAAK,eAAe;4BAC/B,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ;4BAEnC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;gCACjC,UAAU,EAAE,QAAQ;gCACpB,OAAO;gCACP,IAAI;6BACL,CAAC,CAAA;wBAGJ,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAiB;4BACnC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;wBAExC,UAAU,CAAC,QAAQ,CAAC,CAAA;oBACtB,CAAC,CAAA;oBAED,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;oBACnD,IAAI,CAAC;wBACH,MAAM,CAAC,OAAO,CAAC;4BACb,IAAI,EAAE;gCACJ,OAAO,EAAE,KAAK;gCACd,EAAE;gCACF,GAAG,IAAI;6BACR;yBACF,CAAC,CAAA;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,EAAE,CAAC,KAAc,CAAC,CAAA;oBAC3B,CAAC;gBACH,CAAC;gBACD,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;oBACrC,OAAO,IAAA,4BAAW,EAChB,GAAG,EAAE,CACH,IAAI,OAAO,CAAc,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAC/C,IAAI,CAAC,OAAO,CAAC;wBACX,IAAI;wBACJ,OAAO;wBACP,UAAU;qBACX,CAAC,CACH,EACH;wBACE,aAAa,EAAE,IAAI,yBAAY,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;wBAC9C,OAAO;qBACR,CACF,CAAA;gBACH,CAAC;gBACD,QAAQ;gBACR,aAAa;gBACb,GAAG;aACJ,CAAA;YACD,yBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAA;YAEvC,OAAO,CAAC,YAA6C,CAAC,CAAA;QACxD,CAAC;KACF,CAAC,CAAA;IAEF,MAAM,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,GAAG,MAAM,QAAQ,EAAE,CAAA;IAC7C,OAAO,aAAa,CAAA;AACtB,CAAC"}
|
package/_esm/errors/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = '2.31.
|
1
|
+
export const version = '2.31.7-canary-20250703100615';
|
2
2
|
//# sourceMappingURL=version.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../errors/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../errors/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,8BAA8B,CAAA"}
|
package/_esm/utils/rpc/socket.js
CHANGED
@@ -7,13 +7,14 @@ export async function getSocketRpcClient(parameters) {
|
|
7
7
|
const { getSocket, keepAlive = true, key = 'socket', reconnect = true, url, } = parameters;
|
8
8
|
const { interval: keepAliveInterval = 30_000 } = typeof keepAlive === 'object' ? keepAlive : {};
|
9
9
|
const { attempts = 5, delay = 2_000 } = typeof reconnect === 'object' ? reconnect : {};
|
10
|
-
|
10
|
+
const id = JSON.stringify({ keepAlive, key, url, reconnect });
|
11
|
+
let socketClient = socketClientCache.get(id);
|
11
12
|
// If the socket already exists, return it.
|
12
13
|
if (socketClient)
|
13
14
|
return socketClient;
|
14
15
|
let reconnectCount = 0;
|
15
16
|
const { schedule } = createBatchScheduler({
|
16
|
-
id
|
17
|
+
id,
|
17
18
|
fn: async () => {
|
18
19
|
// Set up a cache for incoming "synchronous" requests.
|
19
20
|
const requests = new Map();
|
@@ -85,6 +86,15 @@ export async function getSocketRpcClient(parameters) {
|
|
85
86
|
clearInterval(keepAliveTimer);
|
86
87
|
keepAliveTimer = setInterval(() => socket.ping?.(), keepAliveInterval);
|
87
88
|
}
|
89
|
+
if (reconnect && subscriptions.size > 0) {
|
90
|
+
const subscriptionEntries = subscriptions.entries();
|
91
|
+
for (const [key, { onResponse, body, onError },] of subscriptionEntries) {
|
92
|
+
if (!body)
|
93
|
+
continue;
|
94
|
+
subscriptions.delete(key);
|
95
|
+
socketClient?.request({ body, onResponse, onError });
|
96
|
+
}
|
97
|
+
}
|
88
98
|
return result;
|
89
99
|
}
|
90
100
|
await setup();
|
@@ -94,7 +104,7 @@ export async function getSocketRpcClient(parameters) {
|
|
94
104
|
close() {
|
95
105
|
keepAliveTimer && clearInterval(keepAliveTimer);
|
96
106
|
socket.close();
|
97
|
-
socketClientCache.delete(
|
107
|
+
socketClientCache.delete(id);
|
98
108
|
},
|
99
109
|
get socket() {
|
100
110
|
return socket;
|
@@ -113,6 +123,7 @@ export async function getSocketRpcClient(parameters) {
|
|
113
123
|
subscriptions.set(response.result, {
|
114
124
|
onResponse: callback,
|
115
125
|
onError,
|
126
|
+
body,
|
116
127
|
});
|
117
128
|
// If we are unsubscribing from a topic, we want to remove the listener.
|
118
129
|
if (body.method === 'eth_unsubscribe')
|
@@ -147,7 +158,7 @@ export async function getSocketRpcClient(parameters) {
|
|
147
158
|
subscriptions,
|
148
159
|
url,
|
149
160
|
};
|
150
|
-
socketClientCache.set(
|
161
|
+
socketClientCache.set(id, socketClient);
|
151
162
|
return [socketClient];
|
152
163
|
},
|
153
164
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../utils/rpc/socket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAGzE,OAAO,EAEL,oBAAoB,GACrB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;
|
1
|
+
{"version":3,"file":"socket.js","sourceRoot":"","sources":["../../../utils/rpc/socket.ts"],"names":[],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "2.31.
|
1
|
+
export declare const version = "2.31.7-canary-20250703100615";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../errors/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../errors/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,iCAAiC,CAAA"}
|
@@ -34,10 +34,12 @@ export declare function getSocket(url: string): Promise<WebSocket & {
|
|
34
34
|
requests: Map<string | number, {
|
35
35
|
onResponse: (message: any) => void;
|
36
36
|
onError?: ((error?: Error | Event | undefined) => void) | undefined;
|
37
|
+
body?: import("../../types/rpc.js").RpcRequest;
|
37
38
|
}>;
|
38
39
|
subscriptions: Map<string | number, {
|
39
40
|
onResponse: (message: any) => void;
|
40
41
|
onError?: ((error?: Error | Event | undefined) => void) | undefined;
|
42
|
+
body?: import("../../types/rpc.js").RpcRequest;
|
41
43
|
}>;
|
42
44
|
}>;
|
43
45
|
export declare const rpc: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../utils/rpc/compat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,KAAK,qBAAqB,EAAoB,MAAM,WAAW,CAAA;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAGlD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CACvC,eAAe,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CACtC,CAAC,CAAC,CAAC,CAAA;AACJ,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAC5D,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,SAAS,CAAA;AAElE,iBAAS,SAAS,CAChB,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,EACxC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,gBAAgB,GAC9C,mBAAmB,CAOrB;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAC5C,eAAe,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAC3C,CAAC,CAAC,CAAC,CAAA;AACJ,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAA;AAClD,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,SAAS,CAAA;AAEb,iBAAe,cAAc,CAC3B,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,EACxC,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE,qBAAqB,GAChD,OAAO,CAAC,wBAAwB,CAAC,CAKnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM;;;;;;;;;yBArDpC,CAAA
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../utils/rpc/compat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,KAAK,qBAAqB,EAAoB,MAAM,WAAW,CAAA;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAGlD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CACvC,eAAe,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CACtC,CAAC,CAAC,CAAC,CAAA;AACJ,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;AAC5D,MAAM,MAAM,kBAAkB,GAAG,qBAAqB,GAAG,SAAS,CAAA;AAElE,iBAAS,SAAS,CAChB,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,EACxC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,gBAAgB,GAC9C,mBAAmB,CAOrB;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAC5C,eAAe,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAC3C,CAAC,CAAC,CAAC,CAAA;AACJ,MAAM,MAAM,wBAAwB,GAAG,WAAW,CAAA;AAClD,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,SAAS,CAAA;AAEb,iBAAe,cAAc,CAC3B,YAAY,EAAE,eAAe,CAAC,SAAS,CAAC,EACxC,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE,qBAAqB,GAChD,OAAO,CAAC,wBAAwB,CAAC,CAKnC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM;;;;;;;;;yBArDpC,CAAA;;;;;yBAAA,CAAA;;;GA2DN;AAED,eAAO,MAAM,GAAG;IACd;;;;;;;;;;;OAWG;cACO,MAAM,UAAU,qBAAqB;IAG/C;;;;;;;;;;;OAWG;;IAEH;;;;;;;;;;;OAWG;;CAEJ,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../utils/rpc/socket.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EACL,KAAK,6BAA6B,EAEnC,MAAM,oCAAoC,CAAA;AAI3C,KAAK,EAAE,GAAG,MAAM,GAAG,MAAM,CAAA;AACzB,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAA;IAClC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../../../utils/rpc/socket.ts"],"names":[],"mappings":"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"}
|
package/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '2.31.
|
1
|
+
export const version = '2.31.7-canary-20250703100615'
|
package/package.json
CHANGED
package/utils/rpc/socket.ts
CHANGED
@@ -12,6 +12,7 @@ type Id = string | number
|
|
12
12
|
type CallbackFn = {
|
13
13
|
onResponse: (message: any) => void
|
14
14
|
onError?: ((error?: Error | Event | undefined) => void) | undefined
|
15
|
+
body?: RpcRequest
|
15
16
|
}
|
16
17
|
type CallbackMap = Map<Id, CallbackFn>
|
17
18
|
|
@@ -108,7 +109,8 @@ export async function getSocketRpcClient<socket extends {}>(
|
|
108
109
|
const { attempts = 5, delay = 2_000 } =
|
109
110
|
typeof reconnect === 'object' ? reconnect : {}
|
110
111
|
|
111
|
-
|
112
|
+
const id = JSON.stringify({ keepAlive, key, url, reconnect })
|
113
|
+
let socketClient = socketClientCache.get(id)
|
112
114
|
|
113
115
|
// If the socket already exists, return it.
|
114
116
|
if (socketClient) return socketClient as {} as SocketRpcClient<socket>
|
@@ -118,7 +120,7 @@ export async function getSocketRpcClient<socket extends {}>(
|
|
118
120
|
undefined,
|
119
121
|
[SocketRpcClient<socket>]
|
120
122
|
>({
|
121
|
-
id
|
123
|
+
id,
|
122
124
|
fn: async () => {
|
123
125
|
// Set up a cache for incoming "synchronous" requests.
|
124
126
|
const requests = new Map<Id, CallbackFn>()
|
@@ -196,6 +198,19 @@ export async function getSocketRpcClient<socket extends {}>(
|
|
196
198
|
keepAliveTimer = setInterval(() => socket.ping?.(), keepAliveInterval)
|
197
199
|
}
|
198
200
|
|
201
|
+
if (reconnect && subscriptions.size > 0) {
|
202
|
+
const subscriptionEntries = subscriptions.entries()
|
203
|
+
for (const [
|
204
|
+
key,
|
205
|
+
{ onResponse, body, onError },
|
206
|
+
] of subscriptionEntries) {
|
207
|
+
if (!body) continue
|
208
|
+
|
209
|
+
subscriptions.delete(key)
|
210
|
+
socketClient?.request({ body, onResponse, onError })
|
211
|
+
}
|
212
|
+
}
|
213
|
+
|
199
214
|
return result
|
200
215
|
}
|
201
216
|
await setup()
|
@@ -206,7 +221,7 @@ export async function getSocketRpcClient<socket extends {}>(
|
|
206
221
|
close() {
|
207
222
|
keepAliveTimer && clearInterval(keepAliveTimer)
|
208
223
|
socket.close()
|
209
|
-
socketClientCache.delete(
|
224
|
+
socketClientCache.delete(id)
|
210
225
|
},
|
211
226
|
get socket() {
|
212
227
|
return socket
|
@@ -228,6 +243,7 @@ export async function getSocketRpcClient<socket extends {}>(
|
|
228
243
|
subscriptions.set(response.result, {
|
229
244
|
onResponse: callback,
|
230
245
|
onError,
|
246
|
+
body,
|
231
247
|
})
|
232
248
|
|
233
249
|
// If we are unsubscribing from a topic, we want to remove the listener.
|
@@ -270,7 +286,7 @@ export async function getSocketRpcClient<socket extends {}>(
|
|
270
286
|
subscriptions,
|
271
287
|
url,
|
272
288
|
}
|
273
|
-
socketClientCache.set(
|
289
|
+
socketClientCache.set(id, socketClient)
|
274
290
|
|
275
291
|
return [socketClient as {} as SocketRpcClient<socket>]
|
276
292
|
},
|