@sidhujag/sysweb3-keyring 2.1.13 → 2.1.15

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 CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.1.15
4
+
5
+ - Keep RPC request capacity owned until response bodies finish or cancellation completes, including oversized and rejected responses.
6
+ - Preserve batch capabilities during rate limiting and verify generic batch rejection with one bounded single-request probe.
7
+ - Share the thirty-second chain identity cache across ordinary provider reads while retaining fresh network verification.
8
+
9
+ ## 2.1.14
10
+
11
+ - Add an injectable, bounded JSON-RPC read client with mixed-method batching, per-item results, independent cancellation, and single-request fallback when a server explicitly rejects batches.
12
+ - Share concurrent ordinary chain-ID reads while keeping explicit network verification fresh. Preserve strict response-ID validation and the existing transaction submission behavior.
13
+
3
14
  ## 2.1.13
4
15
 
5
16
  - Preserve exact UTXO fee rates when converting coin units to satoshis per byte, including JavaScript consumers compiled to ES2015. Keep the existing minimum fee and reject invalid or unrepresentable rates.
package/cjs/index.js CHANGED
@@ -14,7 +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
- exports.MAX_PUBLIC_SESSION_STATE_BYTES = exports.descriptorChecksum = exports.deriveDescriptorAddress = exports.PsbtUtils = exports.MAX_PRIVATE_RECORD_LABEL_BYTES = exports.MAX_PRIVATE_RECORD_BYTES = exports.createKeyringHost = exports.VaultAuthenticationError = void 0;
17
+ exports.MAX_PUBLIC_SESSION_STATE_BYTES = exports.descriptorChecksum = exports.deriveDescriptorAddress = exports.PsbtUtils = exports.RpcReadError = exports.JsonRpcReadClient = exports.MAX_PRIVATE_RECORD_LABEL_BYTES = exports.MAX_PRIVATE_RECORD_BYTES = exports.createKeyringHost = exports.VaultAuthenticationError = void 0;
18
18
  __exportStar(require("./transactions"), exports);
19
19
  __exportStar(require("./types"), exports);
20
20
  var storage_core_1 = require("./storage-core");
@@ -28,6 +28,9 @@ var private_records_1 = require("./private-records");
28
28
  Object.defineProperty(exports, "MAX_PRIVATE_RECORD_BYTES", { enumerable: true, get: function () { return private_records_1.MAX_PRIVATE_RECORD_BYTES; } });
29
29
  Object.defineProperty(exports, "MAX_PRIVATE_RECORD_LABEL_BYTES", { enumerable: true, get: function () { return private_records_1.MAX_PRIVATE_RECORD_LABEL_BYTES; } });
30
30
  __exportStar(require("./providers"), exports);
31
+ var rpc_read_client_1 = require("./rpc-read-client");
32
+ Object.defineProperty(exports, "JsonRpcReadClient", { enumerable: true, get: function () { return rpc_read_client_1.JsonRpcReadClient; } });
33
+ Object.defineProperty(exports, "RpcReadError", { enumerable: true, get: function () { return rpc_read_client_1.RpcReadError; } });
31
34
  __exportStar(require("./utils/derivation-paths"), exports);
32
35
  __exportStar(require("./network-utils"), exports);
33
36
  __exportStar(require("./hardware-wallet-manager"), exports);
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,0CAAwB;AACxB,+CAA0D;AAAjD,wHAAA,wBAAwB,OAAA;AACjC,4CAA0B;AAC1B,kDAAgC;AAChC,oDAAkC;AAClC,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAE1B,qDAG2B;AAFzB,2HAAA,wBAAwB,OAAA;AACxB,iIAAA,8BAA8B,OAAA;AAShC,8CAA4B;AAC5B,2DAAyC;AACzC,kDAAgC;AAChC,4DAA0C;AAC1C,0DAAwC;AACxC,qCAAyC;AAAhC,iGAAA,SAAS,OAAA;AAClB,6DAGkC;AAFhC,2HAAA,uBAAuB,OAAA;AACvB,sHAAA,kBAAkB,OAAA;AAQpB,mDAAkE;AAAzD,gIAAA,8BAA8B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,0CAAwB;AACxB,+CAA0D;AAAjD,wHAAA,wBAAwB,OAAA;AACjC,4CAA0B;AAC1B,kDAAgC;AAChC,oDAAkC;AAClC,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAE1B,qDAG2B;AAFzB,2HAAA,wBAAwB,OAAA;AACxB,iIAAA,8BAA8B,OAAA;AAShC,8CAA4B;AAC5B,qDAAoE;AAA3D,oHAAA,iBAAiB,OAAA;AAAE,+GAAA,YAAY,OAAA;AAMxC,2DAAyC;AACzC,kDAAgC;AAChC,4DAA0C;AAC1C,0DAAwC;AACxC,qCAAyC;AAAhC,iGAAA,SAAS,OAAA;AAClB,6DAGkC;AAFhC,2HAAA,uBAAuB,OAAA;AACvB,sHAAA,kBAAkB,OAAA;AAQpB,mDAAkE;AAAzD,gIAAA,8BAA8B,OAAA"}
package/cjs/providers.js CHANGED
@@ -5,6 +5,10 @@ const providers_1 = require("ethers/providers");
5
5
  const utils_1 = require("ethers/utils");
6
6
  const errorUtils_1 = require("./errorUtils");
7
7
  const ethers_v6_1 = require("./ethers-v6");
8
+ const rpc_read_client_1 = require("./rpc-read-client");
9
+ const rpc_transport_1 = require("./rpc-transport");
10
+ var rpc_transport_2 = require("./rpc-transport");
11
+ Object.defineProperty(exports, "RpcResponseIntegrityError", { enumerable: true, get: function () { return rpc_transport_2.RpcResponseIntegrityError; } });
8
12
  const TRANSACTION_RESPONSE_BIG_NUMBER_FIELDS = new Set([
9
13
  'gasLimit',
10
14
  'gasPrice',
@@ -22,66 +26,6 @@ const TRANSACTION_RECEIPT_BIG_NUMBER_FIELDS = new Set([
22
26
  'gasUsed',
23
27
  ]);
24
28
  const FEE_DATA_CACHE_TTL_MS = 5000;
25
- // A stale response must never be interpreted as the result of another RPC.
26
- // Keep the sentinel in the message for callers that serialize errors as text.
27
- class RpcResponseIntegrityError extends Error {
28
- constructor(message = 'JSON-RPC response does not match its request', retryable = true) {
29
- super(`[SYSWEB3_RPC_RESPONSE_INVALID] ${message}`);
30
- this.retryable = retryable;
31
- this.code = 'SYSWEB3_RPC_RESPONSE_INVALID';
32
- this.name = 'RpcResponseIntegrityError';
33
- }
34
- }
35
- exports.RpcResponseIntegrityError = RpcResponseIntegrityError;
36
- // Only these standard, side-effect-free reads may recover from a stale cache
37
- // entry. Never infer retry eligibility from an RPC method prefix.
38
- const RECOVERABLE_READ_METHODS = new Set([
39
- 'eth_chainId',
40
- 'net_version',
41
- 'web3_clientVersion',
42
- 'eth_blockNumber',
43
- 'eth_syncing',
44
- 'eth_getBalance',
45
- 'eth_getTransactionCount',
46
- 'eth_getCode',
47
- 'eth_getStorageAt',
48
- 'eth_getProof',
49
- 'eth_call',
50
- 'eth_estimateGas',
51
- 'eth_createAccessList',
52
- 'eth_gasPrice',
53
- 'eth_maxPriorityFeePerGas',
54
- 'eth_feeHistory',
55
- 'eth_getBlockByNumber',
56
- 'eth_getBlockByHash',
57
- 'eth_getBlockTransactionCountByNumber',
58
- 'eth_getBlockTransactionCountByHash',
59
- 'eth_getTransactionByHash',
60
- 'eth_getTransactionByBlockNumberAndIndex',
61
- 'eth_getTransactionByBlockHashAndIndex',
62
- 'eth_getTransactionReceipt',
63
- 'eth_getLogs',
64
- ]);
65
- let rpcRecoveryNonce = 0;
66
- // Shared across provider instances and seeded anew on process restart. These
67
- // numeric correlation IDs are not authorization tokens.
68
- let nextRpcWireId = Math.floor(Math.random() * 2 ** 51);
69
- const reserveRpcWireId = () => {
70
- const id = ++nextRpcWireId;
71
- if (!Number.isSafeInteger(id)) {
72
- throw new RpcResponseIntegrityError('RPC request ID range exhausted', false);
73
- }
74
- return id;
75
- };
76
- const recoveryUrl = (original) => {
77
- const url = new URL(original);
78
- const token = `${Date.now()}-${++rpcRecoveryNonce}-${Math.random()
79
- .toString(36)
80
- .slice(2)}`;
81
- // Append without reserializing existing query values (including auth data).
82
- url.search += `${url.search ? '&' : '?'}sysweb3_rpc_request=${token}`;
83
- return url.toString();
84
- };
85
29
  const getChainIdFromNetworkish = (network) => {
86
30
  if (network == null)
87
31
  return undefined;
@@ -178,12 +122,10 @@ const makeRpcError = (rpcError) => {
178
122
  class BaseProvider extends ethers_v6_1.JsonRpcProvider {
179
123
  constructor(signal, url, network) {
180
124
  super(typeof url === 'string' ? url : url?.url, network, network == null ? undefined : { staticNetwork: true });
181
- this.isPossibleGetChainId = true;
182
125
  this.cooldownTime = 120 * 1000;
183
126
  this.rateLimit = 30;
184
127
  this.requestCount = 0;
185
128
  this.lastRequestTime = 0;
186
- this.currentChainId = '';
187
129
  this.feeDataCache = null;
188
130
  this.feeDataPromise = null;
189
131
  this.chainIdVerificationPromise = null;
@@ -245,22 +187,20 @@ class BaseProvider extends ethers_v6_1.JsonRpcProvider {
245
187
  };
246
188
  };
247
189
  this.send = async (method, params) => {
248
- if (!this.isPossibleGetChainId && method === 'eth_chainId') {
249
- return this.currentChainId;
250
- }
190
+ if (method === 'eth_chainId')
191
+ return this.readChainId(false);
251
192
  const [json] = await this.requestRpc([{ method, params }], false);
252
193
  if (json.error) {
253
194
  this.errorMessage = json.error.message;
254
195
  throw makeRpcError(json.error);
255
196
  }
256
- if (method === 'eth_chainId') {
257
- this.currentChainId = json.result;
258
- this.isPossibleGetChainId = false;
259
- }
260
197
  return json.result;
261
198
  };
262
199
  this.configuredChainId = getChainIdFromNetworkish(network);
263
200
  this.signal = signal;
201
+ this.readClient = new rpc_read_client_1.JsonRpcReadClient(this._getConnection().url, {
202
+ signal,
203
+ });
264
204
  this._pendingBatchAggregator = null;
265
205
  this._pendingBatch = null;
266
206
  this.bindMethods();
@@ -287,124 +227,54 @@ class BaseProvider extends ethers_v6_1.JsonRpcProvider {
287
227
  return this.chainIdVerificationPromise;
288
228
  }
289
229
  async fetchAndVerifyConfiguredChainId() {
290
- this.isPossibleGetChainId = true;
291
- const actualChainId = parseChainId(await this.send('eth_chainId', []));
230
+ const actual = await this.readChainId(true);
231
+ const actualChainId = parseChainId(actual);
292
232
  if (actualChainId !== this.configuredChainId) {
293
233
  throw new Error(`Configured EVM chainId ${this.configuredChainId} does not match RPC eth_chainId ${actualChainId}`);
294
234
  }
295
235
  }
296
- validateRpcResponses(json, requests, batch) {
297
- if (batch ? !Array.isArray(json) : Array.isArray(json)) {
298
- throw new RpcResponseIntegrityError();
299
- }
300
- const responses = batch ? json : [json];
301
- if (responses.length !== requests.length) {
302
- throw new RpcResponseIntegrityError();
303
- }
304
- const expectedIds = new Set(requests.map((request) => request.id));
305
- const byId = new Map();
306
- for (const response of responses) {
307
- if (!response ||
308
- typeof response !== 'object' ||
309
- Array.isArray(response) ||
310
- typeof response.id !== 'number' ||
311
- !expectedIds.has(response.id) ||
312
- byId.has(response.id)) {
313
- throw new RpcResponseIntegrityError();
314
- }
315
- const hasResult = Object.prototype.hasOwnProperty.call(response, 'result');
316
- const hasError = Object.prototype.hasOwnProperty.call(response, 'error');
317
- if (response.jsonrpc !== '2.0' ||
318
- hasResult === hasError ||
319
- (hasError &&
320
- (!response.error ||
321
- typeof response.error.message !== 'string' ||
322
- !Number.isSafeInteger(response.error.code)))) {
323
- throw new RpcResponseIntegrityError('Invalid JSON-RPC response envelope', false);
324
- }
325
- byId.set(response.id, response);
326
- }
327
- return requests.map((request) => byId.get(request.id));
236
+ readChainId(fresh) {
237
+ return this.readClient.getChainId({ fresh });
328
238
  }
329
239
  async requestRpc(inputs, batch) {
330
- const canRecover = inputs.every(({ method }) => RECOVERABLE_READ_METHODS.has(method));
331
- const originalUrl = this._getConnection().url;
332
- let originalBody = '';
333
- for (let attempt = 0; attempt < 2; attempt++) {
334
- if (this.signal.aborted) {
335
- throw this.signal.reason || new Error('RPC request aborted');
336
- }
337
- // Reserve the whole request range before any dispatch or await.
338
- // A recovery must repeat the serialized read, even if its caller mutates
339
- // an input object while the first response is delayed.
340
- const source = attempt === 0
341
- ? inputs
342
- : batch
343
- ? JSON.parse(originalBody)
344
- : [JSON.parse(originalBody)];
345
- const requests = source.map(({ method, params }) => ({
346
- jsonrpc: '2.0',
347
- method,
348
- params,
349
- id: reserveRpcWireId(),
350
- }));
351
- const options = {
240
+ return (0, rpc_transport_1.requestJsonRpc)(this._getConnection().url, inputs, batch, this.signal, async (url, body, signal) => this.throttledRequest(async () => {
241
+ const response = await fetch(url, {
352
242
  method: 'POST',
353
243
  headers: { 'Content-Type': 'application/json' },
354
- body: JSON.stringify(batch ? requests : requests[0]),
355
- signal: this.signal,
356
- };
357
- if (attempt === 0)
358
- originalBody = options.body;
359
- const json = await this.throttledRequest(async () => {
360
- const response = await fetch(attempt === 0 ? originalUrl : recoveryUrl(originalUrl), options);
361
- if (!response.ok) {
362
- let errorBody = { error: undefined, message: undefined };
363
- try {
364
- errorBody = await response.json();
365
- }
366
- catch {
367
- console.warn('No body in request');
368
- }
369
- this.errorMessage =
370
- errorBody.error || errorBody.message || 'No message from Provider';
371
- (0, errorUtils_1.handleStatusCodeError)(response.status, this.errorMessage);
372
- }
373
- if (response.status !== 200) {
374
- throw new Error(`Unexpected HTTP status code: ${response.status}`);
375
- }
244
+ body,
245
+ signal,
246
+ });
247
+ if (!response.ok) {
248
+ let errorBody = { error: undefined, message: undefined };
376
249
  try {
377
- return await response.json();
378
- }
379
- catch (error) {
380
- if (this.signal.aborted || error?.name === 'AbortError')
381
- throw error;
382
- throw new RpcResponseIntegrityError('Invalid JSON-RPC JSON response', false);
250
+ errorBody = await response.json();
383
251
  }
384
- }).catch((error) => {
385
- if (attempt === 0 ||
386
- error instanceof RpcResponseIntegrityError ||
387
- this.signal.aborted ||
388
- error?.name === 'AbortError') {
389
- throw error;
252
+ catch {
253
+ console.warn('No body in request');
390
254
  }
391
- throw new RpcResponseIntegrityError('JSON-RPC response recovery failed', false);
392
- });
255
+ this.errorMessage =
256
+ errorBody.error ||
257
+ errorBody.message ||
258
+ 'No message from Provider';
259
+ (0, errorUtils_1.handleStatusCodeError)(response.status, this.errorMessage);
260
+ }
261
+ if (response.status !== 200)
262
+ throw new Error(`Unexpected HTTP status code: ${response.status}`);
393
263
  try {
394
- const responses = this.validateRpcResponses(json, requests, batch);
395
- this.serverHasAnError = false;
396
- return responses;
264
+ return await response.json();
397
265
  }
398
266
  catch (error) {
399
- if (!(error instanceof RpcResponseIntegrityError) ||
400
- !error.retryable ||
401
- attempt !== 0 ||
402
- !canRecover) {
267
+ if (signal.aborted || error?.name === 'AbortError')
403
268
  throw error;
404
- }
269
+ throw new rpc_transport_1.RpcResponseIntegrityError('Invalid JSON-RPC JSON response', false);
405
270
  }
406
- }
407
- throw new RpcResponseIntegrityError();
271
+ })).then((responses) => {
272
+ this.serverHasAnError = false;
273
+ return responses;
274
+ });
275
+ }
276
+ readMany(inputs, options) {
277
+ return this.readClient.readMany(inputs, options);
408
278
  }
409
279
  // Ethers uses this primitive for network auto-detection and inherited send.
410
280
  // Share wire IDs and validation, then restore its caller IDs after correlation.
@@ -431,6 +301,10 @@ class BaseProvider extends ethers_v6_1.JsonRpcProvider {
431
301
  return json.result;
432
302
  });
433
303
  }
304
+ destroy() {
305
+ this.readClient.destroy();
306
+ super.destroy();
307
+ }
434
308
  async getGasPrice() {
435
309
  return ethers_v6_1.BigNumber.from(await this.send('eth_gasPrice', []));
436
310
  }
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/providers.ts"],"names":[],"mappings":"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"}