Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        public bool IsLogForEvent(FilterLog log)
        {
            var worksService = new StandardDataService(Web3);

            return(worksService.IsStandardDataChangeLog(log));
        }