commit
b4d21223c4
32
lib/node.js
32
lib/node.js
@ -105,6 +105,7 @@ function Node ()
|
||||
this._socket = false;
|
||||
|
||||
this._latestQueue = null;
|
||||
this._chainDebouncer = 0;
|
||||
this.pendingFilter = false;
|
||||
this.chainFilter = false;
|
||||
this.updateInterval = false;
|
||||
@ -233,6 +234,7 @@ Node.prototype.setupSockets = function()
|
||||
})
|
||||
.on('timeout', function ()
|
||||
{
|
||||
self._socket = false;
|
||||
console.error('wsc', 'Socket connection timeout');
|
||||
})
|
||||
.on('close', function ()
|
||||
@ -247,6 +249,7 @@ Node.prototype.setupSockets = function()
|
||||
})
|
||||
.on('online', function ()
|
||||
{
|
||||
self._socket = true;
|
||||
console.info('wsc', 'Network connection is online');
|
||||
})
|
||||
.on('reconnect', function ()
|
||||
@ -255,19 +258,23 @@ Node.prototype.setupSockets = function()
|
||||
})
|
||||
.on('reconnect scheduled', function (opts)
|
||||
{
|
||||
self._socket = false;
|
||||
console.warn('wsc', 'Reconnecting in', opts.scheduled, 'ms');
|
||||
console.warn('wsc', 'This is attempt', opts.attempt, 'out of', opts.retries);
|
||||
})
|
||||
.on('reconnected', function (opts)
|
||||
{
|
||||
self._socket = true;
|
||||
console.success('wsc', 'Socket reconnected successfully after', opts.duration, 'ms');
|
||||
})
|
||||
.on('reconnect timeout', function (err, opts)
|
||||
{
|
||||
self._socket = false;
|
||||
console.error('wsc', 'Socket reconnect atempt took too long:', err.message);
|
||||
})
|
||||
.on('reconnect failed', function (err, opts)
|
||||
{
|
||||
self._socket = false;
|
||||
console.error('wsc', 'Socket reconnect failed:', err.message);
|
||||
});
|
||||
}
|
||||
@ -388,7 +395,12 @@ Node.prototype.validateLatestBlock = function (error, result, timeString)
|
||||
{
|
||||
console.warn("==>", "Got same block:", chalk.reset.cyan(block.number));
|
||||
|
||||
if( _.isEqual(JSON.stringify(this.stats.block), JSON.stringify(block)) )
|
||||
return false;
|
||||
|
||||
console.info(this.stats.block);
|
||||
console.info(block);
|
||||
console.warn("Blocks are different... updating block");
|
||||
}
|
||||
|
||||
console.success("==>", "Got block:", chalk.reset.red(block.number));
|
||||
@ -655,7 +667,24 @@ Node.prototype.setWatches = function()
|
||||
|
||||
console.info('>>>', 'Chain Filter triggered: ', chalk.reset.red(hash), '- last trigger:', chalk.reset.cyan(time));
|
||||
|
||||
if(time < 5)
|
||||
{
|
||||
self._chainDebouncer++;
|
||||
} else {
|
||||
self._chainDebouncer = 0;
|
||||
}
|
||||
|
||||
if(self._chainDebouncer < 20)
|
||||
{
|
||||
self._latestQueue.push(hash);
|
||||
}
|
||||
else
|
||||
{
|
||||
debounce(function() {
|
||||
self._latestQueue.push(hash);
|
||||
self._chainDebouncer = 0;
|
||||
}, 5);
|
||||
}
|
||||
});
|
||||
|
||||
console.success("Installed chain filter");
|
||||
@ -686,8 +715,9 @@ Node.prototype.setWatches = function()
|
||||
self.getPending();
|
||||
}, 5);
|
||||
}
|
||||
console.success("Installed pending filter");
|
||||
});
|
||||
|
||||
console.success("Installed pending filter");
|
||||
}
|
||||
catch (err)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user