private void OnConditionsChange(object?sender, BlockEventArgs e) { ScheduleAction(() => { SyncingResult syncingResult = _ethSyncingInfo.GetFullInfo(); bool isSyncing = syncingResult.IsSyncing; if (isSyncing == _lastIsSyncing) { if (_logger.IsTrace) { _logger.Trace($"Syncing subscription {Id} didn't changed syncing status: {_lastIsSyncing}"); } return; } if (_logger.IsTrace) { _logger.Trace($"Syncing subscription {Id} changed syncing status from {_lastIsSyncing} to {isSyncing}"); } _lastIsSyncing = isSyncing; JsonRpcResult result; if (isSyncing == false) { result = CreateSubscriptionMessage(isSyncing); } else { result = CreateSubscriptionMessage(syncingResult); } JsonRpcDuplexClient.SendJsonRpcResult(result); _logger.Trace($"Syncing subscription {Id} printed SyncingResult object."); }); }
public ResultWrapper <SyncingResult> eth_syncing() { return(ResultWrapper <SyncingResult> .Success(_ethSyncingInfo.GetFullInfo())); }