public IEnumerator LogsGetAllChangesTest() { return(testContext.ContractTest(async() => { BigInteger bigValue = new BigInteger(ulong.MaxValue) * ulong.MaxValue; BroadcastTxResult firstEvent1Result = await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 1); await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 2); await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 3); await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", bigValue); EvmEvent <EvmTestContext.TestIndexedEvent1> event1 = this.testContext.Contract.GetEvent <EvmTestContext.TestIndexedEvent1>("TestIndexedEvent1"); List <EventLog <EvmTestContext.TestIndexedEvent1> > decodedEvents1 = await event1.GetAllChanges(event1.EventAbi.CreateFilterInput(new BlockParameter(firstEvent1Result.Height), BlockParameter.CreatePending())); Assert.AreEqual((BigInteger)1, decodedEvents1[0].Event.Number1); Assert.AreEqual((BigInteger)2, decodedEvents1[1].Event.Number1); Assert.AreEqual((BigInteger)3, decodedEvents1[2].Event.Number1); Assert.AreEqual(bigValue, decodedEvents1[3].Event.Number1); BroadcastTxResult firstEvent2Result = await this.testContext.Contract.CallAsync("emitTestIndexedEvent2", 4, 5); await this.testContext.Contract.CallAsync("emitTestIndexedEvent2", 6, 7); await this.testContext.Contract.CallAsync("emitTestIndexedEvent2", 8, 9); EvmEvent <EvmTestContext.TestIndexedEvent2> event2 = this.testContext.Contract.GetEvent <EvmTestContext.TestIndexedEvent2>("TestIndexedEvent2"); List <EventLog <EvmTestContext.TestIndexedEvent2> > decodedEvents2 = await event2.GetAllChanges(event2.EventAbi.CreateFilterInput(new BlockParameter(firstEvent2Result.Height), BlockParameter.CreatePending())); Assert.AreEqual((BigInteger)4, decodedEvents2[0].Event.Number1); Assert.AreEqual((BigInteger)5, decodedEvents2[0].Event.Number2); Assert.AreEqual((BigInteger)6, decodedEvents2[1].Event.Number1); Assert.AreEqual((BigInteger)7, decodedEvents2[1].Event.Number2); Assert.AreEqual((BigInteger)8, decodedEvents2[2].Event.Number1); Assert.AreEqual((BigInteger)9, decodedEvents2[2].Event.Number2); }, 20000)); }
public IEnumerator LogsGetAllChangesFilteredTest() { return(testContext.ContractTest(async() => { BroadcastTxResult firstEvent1Result = await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 1); await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 2); await this.testContext.Contract.CallAsync("emitTestIndexedEvent1", 3); EvmEvent <EvmTestContext.TestIndexedEvent1> event1 = this.testContext.Contract.GetEvent <EvmTestContext.TestIndexedEvent1>("TestIndexedEvent1"); NewFilterInput filterInput = event1.EventAbi.CreateFilterInput(2, new BlockParameter(firstEvent1Result.Height), BlockParameter.CreatePending()); List <EventLog <EvmTestContext.TestIndexedEvent1> > decodedEvents = await event1.GetAllChanges(filterInput); Assert.NotZero(decodedEvents.Count); decodedEvents.ForEach(log => Assert.AreEqual((BigInteger)2, log.Event.Number1)); Debug.Log(JsonConvert.SerializeObject(decodedEvents, Formatting.Indented)); }, 20000)); }