public async Task Should_CheckIfLogIsDataChanged() { var web3 = _deployedContractFixture.GetWeb3(); var workService = GetWorkService(web3); var worksService = new StandardDataService(web3); var dataChangedEvent = workService.GetStandardDataChangedEvent(); var receipt = await _txHelper.SendAndMineTransactionAsync(web3, DefaultSettings.AddressFrom, DefaultSettings.Password, () => workService.SetAttributeAsync(DefaultSettings.AddressFrom, WorkSchema.name, "Hello", true, _defaultGas)); Assert.True(worksService.IsStandardDataChangeLog(receipt.Logs[0])); var filterLog = JsonConvert.DeserializeObject <FilterLog>(receipt.Logs[0].ToString()); var dataChanged = Event.DecodeAllEvents <DataChangedEvent>(new[] { filterLog }); Assert.Equal(WorkSchema.name.ToString(), dataChanged[0].Event.Key); Assert.Equal("Hello", dataChanged[0].Event.Value); }
public async Task Should_GetDataChangedLogsForBlockNumberRange() { var web3 = _deployedContractFixture.GetWeb3(); var workService = GetWorkService(web3); var worksService = new StandardDataService(web3); var blockNumber = await web3.Eth.Blocks.GetBlockNumber.SendRequestAsync(); var receipt = await _txHelper.SendAndMineTransactionAsync(web3, DefaultSettings.AddressFrom, DefaultSettings.Password, () => workService.SetAttributeAsync(DefaultSettings.AddressFrom, WorkSchema.name, "Hello", true, _defaultGas)); var logs = await worksService.GetDataChangedEventsAsync((ulong)blockNumber.Value); Assert.True(logs.Count == 0); var newBlockNumber = await web3.Eth.Blocks.GetBlockNumber.SendRequestAsync(); logs = await worksService.GetDataChangedEventsAsync((ulong)blockNumber.Value, (ulong)newBlockNumber.Value); Assert.True(logs.Count == 1); }
public bool IsLogForEvent(FilterLog log) { var worksService = new StandardDataService(Web3); return(worksService.IsStandardDataChangeLog(log)); }