From b8def4db275cb56b09332266ff076ccb1d55bae4 Mon Sep 17 00:00:00 2001 From: ThatBen Date: Thu, 26 Jun 2025 13:40:32 +0200 Subject: [PATCH] wip --- .../NethereumWorkflow/NethereumInteraction.cs | 46 +++++++++++++++++-- .../CodexPlugin/CodexDockerImage.cs | 2 +- Tools/BiblioTech/CommandHandler.cs | 1 - 3 files changed, 42 insertions(+), 7 deletions(-) diff --git a/Framework/NethereumWorkflow/NethereumInteraction.cs b/Framework/NethereumWorkflow/NethereumInteraction.cs index 47b7ee20..a7e32007 100644 --- a/Framework/NethereumWorkflow/NethereumInteraction.cs +++ b/Framework/NethereumWorkflow/NethereumInteraction.cs @@ -110,11 +110,47 @@ namespace NethereumWorkflow public List> GetEvents(string address, ulong fromBlockNumber, ulong toBlockNumber) where TEvent : IEventDTO, new() { - var eventHandler = web3.Eth.GetEvent(address); - var from = new BlockParameter(fromBlockNumber); - var to = new BlockParameter(toBlockNumber); - var blockFilter = Time.Wait(eventHandler.CreateFilterBlockRangeAsync(from, to)); - return Time.Wait(eventHandler.GetAllChangesAsync(blockFilter)); + try + { + var logs = new List(); + var p = web3.Processing.Logs.CreateProcessor(l => logs.Add(l)); + + var from = new BlockParameter(fromBlockNumber); + var to = new BlockParameter(toBlockNumber); + var ct = new CancellationTokenSource().Token; + Time.Wait(p.ExecuteAsync(toBlockNumber: to.BlockNumber, cancellationToken: ct, startAtBlockNumberIfNotProcessed: from.BlockNumber)); + + var result = new List>(); + foreach (var l in logs) + { + if (l.IsLogForEvent()) + { + var eee = l.DecodeEvent(); + result.Add(eee); + } + } + + return result; + + + //var eventHandler = web3.Eth.GetEvent(address); + + //var blockFilter = Time.Wait(eventHandler.CreateFilterBlockRangeAsync(from, to)); + //return Time.Wait(eventHandler.GetAllChangesAsync(blockFilter)); + + //var events = eventHandler.DecodeAllEventsForEvent(new FilterLog[] + //{ + // //new FilterLog + // //{ + // // BlockNumber = from.BlockNumber + // //} + //}); + } + catch (Exception ex) + { + var aaa = 0; + throw; + } } public BlockInterval ConvertTimeRangeToBlockRange(TimeRange timeRange) diff --git a/ProjectPlugins/CodexPlugin/CodexDockerImage.cs b/ProjectPlugins/CodexPlugin/CodexDockerImage.cs index c7f0f35b..bbb09c0b 100644 --- a/ProjectPlugins/CodexPlugin/CodexDockerImage.cs +++ b/ProjectPlugins/CodexPlugin/CodexDockerImage.cs @@ -2,7 +2,7 @@ { public class CodexDockerImage { - private const string DefaultDockerImage = "codexstorage/nim-codex:sha-e324ac8-dist-tests"; + private const string DefaultDockerImage = "codexstorage/nim-codex:latest-dist-tests"; public static string Override { get; set; } = string.Empty; diff --git a/Tools/BiblioTech/CommandHandler.cs b/Tools/BiblioTech/CommandHandler.cs index 10e1e24b..52f0388d 100644 --- a/Tools/BiblioTech/CommandHandler.cs +++ b/Tools/BiblioTech/CommandHandler.cs @@ -6,7 +6,6 @@ using BiblioTech.Rewards; using Logging; using BiblioTech.CodexChecking; using Nethereum.Model; -using static Org.BouncyCastle.Math.EC.ECCurve; namespace BiblioTech {