This repository was archived by the owner on Mar 5, 2025. It is now read-only.
File tree Expand file tree Collapse file tree
packages/web3-core-requestmanager/src Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -592,3 +592,4 @@ Released with 1.0.0-beta.37 code base.
592592
593593### Fixed
594594- Browser builds support polyfills (#5031 ) (#5053 ) (#4659 ) (#4767 )
595+ - Start incrementing jsonrpc.id from random number (#5327 )
Original file line number Diff line number Diff line change 2626
2727// Initialize Jsonrpc as a simple object with utility functions.
2828var Jsonrpc = {
29- messageId : 0
29+ // This is the starting counter for the Jsonrpc.id.
30+ // Pick a random number between 0 and the maximum safe integer
31+ messageId : Math . floor ( Math . random ( ) * Number . MAX_SAFE_INTEGER )
3032} ;
3133
3234/**
@@ -42,8 +44,14 @@ Jsonrpc.toPayload = function (method, params) {
4244 throw new Error ( 'JSONRPC method should be specified for params: "' + JSON . stringify ( params ) + '"!' ) ;
4345 }
4446
45- // advance message ID
46- Jsonrpc . messageId ++ ;
47+ if ( Jsonrpc . messageId === Number . MAX_SAFE_INTEGER ) {
48+ // if the maximum safe integer has been reached, restart from a random number
49+ Jsonrpc . messageId = Math . floor ( Math . random ( ) * Number . MAX_SAFE_INTEGER )
50+ }
51+ else {
52+ // advance message ID
53+ Jsonrpc . messageId ++ ;
54+ }
4755
4856 return {
4957 jsonrpc : '2.0' ,
You can’t perform that action at this time.
0 commit comments