private void OnBlockAddedToMain(object sender, BlockReplacementEventArgs e) { _receiptStorage.EnsureCanonical(e.Block); // we don't want this to be on main processing thread Task.Run(() => TriggerReceiptInsertedEvent(e.Block, e.PreviousBlock)); }
private void OnBlockAddedToMain(object sender, BlockReplacementEventArgs e) { // we don't want this to be on main processing thread Task.Run(() => ProcessBlock(e.Block, e.PreviousBlock)) .ContinueWith(t => { if (t.IsFaulted) { if (_logger.IsError) { _logger.Error($"Couldn't correctly add or remove transactions from txpool after processing block {e.Block.ToString(Block.Format.FullHashAndNumber)}.", t.Exception); } } }); }
private void OnBlockAddedToMain(object sender, BlockReplacementEventArgs e) { // we don't want this to be on main processing thread Task.Run(() => RollbackReceipts(e.PreviousBlock)) .ContinueWith(t => { if (t.IsFaulted) { if (_logger.IsError) { _logger.Error($"Couldn't correctly insert updated receipts from removed block {e.PreviousBlock?.ToString(Block.Format.FullHashAndNumber)} to receipt storage.", t.Exception); } } }); }
private void OnHeadChanged(object?sender, BlockReplacementEventArgs e) { BlockGasLimit = e.Block !.GasLimit; CurrentBaseFee = e.Block.Header.BaseFeePerGas; HeadChanged?.Invoke(sender, e); }