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 void EventFilterInputTest() { ContractBuilder contractBuilder = new ContractBuilder(this.testContext.TestsAbi, Address.FromPublicKey(CryptoUtils.PublicKeyFromPrivateKey(CryptoUtils.GeneratePrivateKey())).LocalAddress); EvmEvent <EvmTestContext.TestIndexedEvent1> event1 = new EvmEvent <EvmTestContext.TestIndexedEvent1>(null, contractBuilder.GetEventAbi("TestIndexedEvent1")); NewFilterInput filterInput = event1.EventAbi.CreateFilterInput(2, new BlockParameter(3), BlockParameter.CreatePending()); Assert.NotNull(filterInput); }
public IEnumerator LogsGetAllChangesTest() { return(ContractTest(async() => { await this.contract.CallAsync("emitTestIndexedEvent1", 1); await this.contract.CallAsync("emitTestIndexedEvent1", 2); await this.contract.CallAsync("emitTestIndexedEvent1", 3); EvmEvent <TestIndexedEvent1> event1 = this.contract.GetEvent <TestIndexedEvent1>("TestIndexedEvent1"); List <EventLog <TestIndexedEvent1> > decodedEvents = await event1.GetAllChanges(event1.CreateFilterInput(BlockParameter.CreateEarliest(), BlockParameter.CreatePending())); Assert.AreEqual(1, decodedEvents[decodedEvents.Count - 3].Event.Number1); Assert.AreEqual(2, decodedEvents[decodedEvents.Count - 2].Event.Number1); Assert.AreEqual(3, decodedEvents[decodedEvents.Count - 1].Event.Number1); })); }
public IEnumerator LogsGetAllChangesFilteredTest() { return(ContractTest(async() => { await this.contract.CallAsync("emitTestIndexedEvent1", 1); await this.contract.CallAsync("emitTestIndexedEvent1", 2); await this.contract.CallAsync("emitTestIndexedEvent1", 3); EvmEvent <TestIndexedEvent1> event1 = this.contract.GetEvent <TestIndexedEvent1>("TestIndexedEvent1"); List <EventLog <TestIndexedEvent1> > decodedEvents = await event1.GetAllChanges(event1.CreateFilterInput(new object[] { 2 }, BlockParameter.CreateEarliest(), BlockParameter.CreatePending())); Assert.NotZero(decodedEvents.Count); decodedEvents.ForEach(log => Assert.AreEqual(2, log.Event.Number1)); Debug.Log(JsonConvert.SerializeObject(decodedEvents, Formatting.Indented)); })); }
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)); }