viem 2.31.6 → 2.31.7
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/utils/rpc/socket.js +15 -4
- package/_cjs/utils/rpc/socket.js.map +1 -1
- package/_esm/errors/version.js +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/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
|
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
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":"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"}
|
package/_esm/errors/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = '2.31.
|
1
|
+
export const version = '2.31.7';
|
2
2
|
//# sourceMappingURL=version.js.map
|
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";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -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'
|
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
|
},
|