diff --git a/packages/web3-utils/CHANGELOG.md b/packages/web3-utils/CHANGELOG.md index 4213b98b2d9..2d92f4da7b7 100644 --- a/packages/web3-utils/CHANGELOG.md +++ b/packages/web3-utils/CHANGELOG.md @@ -158,4 +158,8 @@ Documentation: - `soliditySha3()` with BigInt support -## [Unreleased] \ No newline at end of file +## [Unreleased] + +### Added + +- `SocketProvider` now contains public function `getPendingRequestQueueSize` (#6451) \ No newline at end of file diff --git a/packages/web3-utils/src/socket_provider.ts b/packages/web3-utils/src/socket_provider.ts index b8124b18ed6..b198c09d85d 100644 --- a/packages/web3-utils/src/socket_provider.ts +++ b/packages/web3-utils/src/socket_provider.ts @@ -188,6 +188,15 @@ export abstract class SocketProvider< protected _validateProviderPath(path: string): boolean { return !!path; } + + /** + * + * @returns the pendingRequestQueue size + */ + // eslint-disable-next-line class-methods-use-this + public getPendingRequestQueueSize() { + return this._pendingRequestsQueue.size; + } /** * diff --git a/packages/web3-utils/test/unit/socket_provider.test.ts b/packages/web3-utils/test/unit/socket_provider.test.ts index 054e11691e7..721ef34976d 100644 --- a/packages/web3-utils/test/unit/socket_provider.test.ts +++ b/packages/web3-utils/test/unit/socket_provider.test.ts @@ -312,7 +312,7 @@ describe('SocketProvider', () => { }); // @ts-expect-error run protected method expect(provider._pendingRequestsQueue.size).toBe(1); - + expect(provider.getPendingRequestQueueSize()).toBe(1); const payload2 = { id: 2, method: 'some_rpc_method' }; provider.setStatus('connected'); const req2 = provider.request(payload2); @@ -331,6 +331,7 @@ describe('SocketProvider', () => { provider._clearQueues(); // @ts-expect-error run protected method expect(provider._pendingRequestsQueue.size).toBe(0); + expect(provider.getPendingRequestQueueSize()).toBe(0); // @ts-expect-error run protected method expect(provider._sentRequestsQueue.size).toBe(0); });