示例#1
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);
        }