cleanup log processing in getEvents

This commit is contained in:
ThatBen 2025-06-26 14:10:57 +02:00
parent b8def4db27
commit b31591d276
No known key found for this signature in database
GPG Key ID: 62C543548433D43E

View File

@ -110,47 +110,23 @@ namespace NethereumWorkflow
public List<EventLog<TEvent>> GetEvents<TEvent>(string address, ulong fromBlockNumber, ulong toBlockNumber) where TEvent : IEventDTO, new() public List<EventLog<TEvent>> GetEvents<TEvent>(string address, ulong fromBlockNumber, ulong toBlockNumber) where TEvent : IEventDTO, new()
{ {
try var logs = new List<FilterLog>();
{ var p = web3.Processing.Logs.CreateProcessor(
var logs = new List<FilterLog>(); action: logs.Add,
var p = web3.Processing.Logs.CreateProcessor(l => logs.Add(l)); minimumBlockConfirmations: 1,
criteria: l => l.Address == address
);
var from = new BlockParameter(fromBlockNumber); var from = new BlockParameter(fromBlockNumber);
var to = new BlockParameter(toBlockNumber); var to = new BlockParameter(toBlockNumber);
var ct = new CancellationTokenSource().Token; var ct = new CancellationTokenSource().Token;
Time.Wait(p.ExecuteAsync(toBlockNumber: to.BlockNumber, cancellationToken: ct, startAtBlockNumberIfNotProcessed: from.BlockNumber)); Time.Wait(p.ExecuteAsync(toBlockNumber: to.BlockNumber, cancellationToken: ct, startAtBlockNumberIfNotProcessed: from.BlockNumber));
var result = new List<EventLog<TEvent>>();
foreach (var l in logs)
{
if (l.IsLogForEvent<TEvent>())
{
var eee = l.DecodeEvent<TEvent>();
result.Add(eee);
}
}
return result;
//var eventHandler = web3.Eth.GetEvent<TEvent>(address); return logs
.Where(l => l.IsLogForEvent<TEvent>())
//var blockFilter = Time.Wait(eventHandler.CreateFilterBlockRangeAsync(from, to)); .Select(l => l.DecodeEvent<TEvent>())
//return Time.Wait(eventHandler.GetAllChangesAsync(blockFilter)); .ToList();
//var events = eventHandler.DecodeAllEventsForEvent(new FilterLog[]
//{
// //new FilterLog
// //{
// // BlockNumber = from.BlockNumber
// //}
//});
}
catch (Exception ex)
{
var aaa = 0;
throw;
}
} }
public BlockInterval ConvertTimeRangeToBlockRange(TimeRange timeRange) public BlockInterval ConvertTimeRangeToBlockRange(TimeRange timeRange)